<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>ios &#8211; Politepix</title>
	<atom:link href="/tag/ios/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>iOS Frameworks for speech recognition, text to speech and more</description>
	<lastBuildDate>Wed, 10 Sep 2014 13:57:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.2</generator>
<site xmlns="com-wordpress:feed-additions:1">206848719</site>	<item>
		<title>Open the Simulator sandbox folder of the app you just built and ran</title>
		<link>/2011/05/13/open-the-simulator-sandbox-folder-of-the-app-you-just-built-and-ran/</link>
					<comments>/2011/05/13/open-the-simulator-sandbox-folder-of-the-app-you-just-built-and-ran/#comments</comments>
		
		<dc:creator><![CDATA[Halle Winkler]]></dc:creator>
		<pubDate>Fri, 13 May 2011 15:46:16 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[production tools]]></category>
		<category><![CDATA[simulator]]></category>
		<category><![CDATA[xcode]]></category>
		<guid isPermaLink="false">/?p=1250</guid>

					<description><![CDATA[Updated for Xcode 6: I now use the following bash one-liner: open -R `find ~/Library/Developer/CoreSimulator/Devices -type d -depth 5 -name "*.app" -print0 &#124; xargs -0 stat -f "%m %N" &#124; sort -rn &#124; head -1 &#124; cut -f2- -d" "` Read on for some historical AppleScript which applies to Xcode versions previous to 6. Here&#8217;s [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Updated for Xcode 6: I now use the following bash one-liner:</p>
<pre style="width:490px;">
open -R `find ~/Library/Developer/CoreSimulator/Devices -type d -depth 5 -name "*.app" -print0 | xargs -0 stat -f "%m %N" | sort -rn | head -1 | cut -f2- -d" "`
</pre>
<p>Read on for some historical AppleScript which applies to Xcode versions previous to 6.</p>
<div class="woo-sc-box  note   ">If you&#8217;re interested in this, you might also enjoy checking out <a href="/openears">OpenEars</a>, Politepix&#8217;s free iOS SDK for doing offline speech recognition without using the network, now featuring <a href="/2014/04/10/openears-1-7-introducing-dynamic-grammar-generation/">the ability to generate rules-based recognition grammars dynamically at runtime</a>!</div>
<p><strong>Here&#8217;s another Applescript* tool</strong> for dealing with the Simulator, since I seem to be on an Applescript/Simulator kick**. Maybe I&#8217;m the only one with this problem: a common use of the Simulator for me is testing code that writes out to the Documents folder of the app. And yet, it&#8217;s always an unpleasant process to locate the app&#8217;s Simulator install folder inside of the Application Support/Simulator folder. It&#8217;s not always 100% obvious which SDK folder I ought to be looking in, the containing folder name changes, it&#8217;s not self-evidently named, etc. So, I have an Applescript that just finds and opens the Simulator install folder for whatever Simulator app I built and ran last.</p>
<p>[politepix-blog-inline-text-ad]</p>
<p>Or at least, I had an Applescript, but it was dog-slow. But I recently asked for help on MacScripter <a href="https://macscripter.net/viewtopic.php?pid=140141">here</a> and it&#8217;s now optimized into a speed demon thanks to Hank and Stefan.  The script, to be entered and saved in your Applescript Editor:</p>
<pre class="brush: cpp,gutter:false, smart-tabs:true,wrap-lines:false;">

# By StefanK at MacScripter: https://macscripter.net/viewtopic.php?pid=140141

property findtype : quoted form of "kMDItemContentType = \"com.apple.application-bundle\""

set simulatorFolder to POSIX path of (path to application support folder from user domain) & "iPhone Simulator/"
set appFiles to paragraphs of (do shell script "mdfind -onlyin " & quoted form of simulatorFolder & " " & findtype)
if appFiles is not {} then
	set mostRecentApp to item 1 of appFiles
	tell application "Finder" to reveal ((POSIX file mostRecentApp) as alias)
	tell application "Finder" to activate
end if</pre>
<p>Of you can just <a href="https://www.politepix.com/wp-content/uploads/Find%20Most%20Recent%20Simulator%20Build.zip">download</a> it as an already-saved app if you prefer (it can still be opened and edited in Applescript Editor).</p>
<p>Put it in the dock and click it when you want to see the install folder. I hope it spares you as much annoyance as it spares me. Tip of the hat to MacScripter and regulus6633 and StefanK.</p>
<p>*&#8221;What&#8217;s the deal with all the Applescript?&#8221; you ask. Look, I just want to be well-practiced when Apple rolls out the Applescript Store at WWDC this year.</p>
<p>**My last AppleScript/Simulator <a href="/2011/04/25/low-memory-warning-bombardment-tool/">post</a> was linked on Alex Curlyo&#8217;s blog and it led to a discussion that raised <a href="https://www.alexcurylo.com/blog/2011/04/26/tip-low-memory-warnings/">two even better suggestions for accomplishing the same task</a> which are now part of my standard workflow.</p>
]]></content:encoded>
					
					<wfw:commentRss>/2011/05/13/open-the-simulator-sandbox-folder-of-the-app-you-just-built-and-ran/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1250</post-id>	</item>
		<item>
		<title>Low memory warning bombardment tool</title>
		<link>/2011/04/25/low-memory-warning-bombardment-tool/</link>
					<comments>/2011/04/25/low-memory-warning-bombardment-tool/#comments</comments>
		
		<dc:creator><![CDATA[Halle Winkler]]></dc:creator>
		<pubDate>Mon, 25 Apr 2011 13:22:22 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[low memory warning]]></category>
		<category><![CDATA[simulator]]></category>
		<category><![CDATA[xcode]]></category>
		<guid isPermaLink="false">/?p=1240</guid>

					<description><![CDATA[This is an update on my old post here: Consider Yourself Warned. I wanted to share a tool that I use in as part of checking an app for behaving correctly under low memory warnings, to the extent that is possible to do so using the Simulator. It&#8217;s an Applescript that just sends a low [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This is an update on my old post here: <a href="/2010/02/28/consider-yourself-warned/">Consider Yourself Warned</a>.</p>
<p>I wanted to share a tool that I use in as part of checking an app for behaving correctly under low memory warnings, to the extent that is possible to do so using the Simulator. It&#8217;s an Applescript that just sends a low memory warning to the simulator every second or so, so you can go through every function of your app while debugging and see if a low memory warning ever causes a crash due to a required data structure not being available after a low memory warning. It will also smoke out some redraw bugs due to views being released, though for this it is less reliable than the device.</p>
<p>[politepix-blog-inline-text-ad]</p>
<p>In order to use this tool, you need to turn go to  Universal Access in the System Preferences and check &#8220;Enable access for assistive devices&#8221;, and if it doesn&#8217;t work immediately, you may need to open the script up in <strong>Applescript Editor</strong> (usually found in your <strong>Utilities</strong> folder) and make sure that the simulatorName variable actually corresponds to the name of your simulator app for the version of Xcode you use. You can also change the timer for how frequently simulated memory warnings are invoked.</p>
<p>This doesn&#8217;t tell you everything about how your app deals with memory on the device so it is not a substitute for functional device testing, but it will quickly show you if the app can be crashed on the simulator due to a missing data structure, which will often also happen on the device. It isn&#8217;t a panacea, just another tool to keep in the toolbox for catching some bugs easily.</p>
<p>If you are using a version of the simulator that has different titling in the menu (I don&#8217;t know if there are any around right now but that is likely in the future), you can change the strings in the script which refer to the menu element names.</p>
<p>When you quit the simulator, the script will quit. Since it is a loop that only exits when the simulator is quit, you may have to force quit it if you encounter some circumstance that I haven&#8217;t foreseen.</p>
<p>Here is the script uploaded as a zipped applet (you can still open it up in the script editor to edit it):</p>
<p><a href="https://www.politepix.com/wp-content/uploads/Politepix%20Memory%20Bombardment.zip">Politepix Memory Bombardment applet</a></p>
<p>If you don&#8217;t want to download a zipped applet, you can create your own Applescript applet from the following code:</p>
<pre class="brush: cpp,gutter:false, smart-tabs:true,wrap-lines:false;">

# This requires going to Universal Access in the System Preferences and checking "Enable access for assistive devices".

# This will run until the iOS simulator is quit.

# Created by Halle Winkler, Politepix: /

#If you're using a different simulator version that is called something else, put its name here.
set simulatorName to "iOS Simulator"
# Change the .8 here to whatever interval you want to send simulated memory warnings at. These are seconds, so sleep 1 would mean that it repeats every second.
set repeatRate to "sleep .8"

# If the naming in the simulator menus is different for you, you can change them here

set menuName to "Hardware" # This is the main menu name
set menuItemName to "Simulate Memory Warning" # This is the name of the menu item

tell application simulatorName
	activate
end tell
repeat
	
	tell application "System Events"
		if application process simulatorName exists then
			tell application "System Events"
				tell process simulatorName
					tell menu bar 1
						tell menu bar item menuName
							tell menu menuName
								click menu item menuItemName
							end tell
						end tell
					end tell
				end tell
			end tell
			do shell script repeatRate
		else
			exit repeat
		end if
	end tell
	
end repeat

</pre>
<p>Hope this is helpful to others.</p>
]]></content:encoded>
					
					<wfw:commentRss>/2011/04/25/low-memory-warning-bombardment-tool/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1240</post-id>	</item>
		<item>
		<title>Voice Recognition / Speech Recognition and speech for the iPhone</title>
		<link>/2010/09/08/voicerecognition-for-the-iphone/</link>
					<comments>/2010/09/08/voicerecognition-for-the-iphone/#comments</comments>
		
		<dc:creator><![CDATA[Halle Winkler]]></dc:creator>
		<pubDate>Wed, 08 Sep 2010 12:31:15 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[cmu]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[flite]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[pocket sphinx]]></category>
		<category><![CDATA[pocketsphinx]]></category>
		<category><![CDATA[speech recognition]]></category>
		<category><![CDATA[text to speech]]></category>
		<category><![CDATA[voice recognition]]></category>
		<guid isPermaLink="false">/?p=852</guid>

					<description><![CDATA[Politepix introduces OpenEars, an open-source iOS library for implementing continuous, multithreaded, and low-overhead speech recognition and text-to-speech, using CMU Pocketsphinx and CMU Flite, for iPhone and iPad development.]]></description>
										<content:encoded><![CDATA[<h2><a href="/openears">Read more about OpenEars and download the OpenEars library for free!</a></h2>
<p>I&#8217;m happy to announce that <a href="/openears">OpenEars</a> is launched! <a href="/openears">OpenEars</a> is an open-source iOS library for implementing continuous, multithreaded, and low-overhead speech recognition and text-to-speech, using <a href="https://cmusphinx.sourceforge.net/">CMU Pocketsphinx</a> and <a href="https://www.cmuflite.org/">CMU Flite</a>, for the iPhone and iPad.  It uses nice Cocoa-standard cross-project-referenced static libraries and it offers all the easy-to-use Objective-C methods you&#8217;ll need to bring round-trip speech functions to your app. The launch version is 0.9.0 and I hope that there will be some cool projects using it.</p>
<p>[politepix-blog-inline-text-ad]</p>
]]></content:encoded>
					
					<wfw:commentRss>/2010/09/08/voicerecognition-for-the-iphone/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">852</post-id>	</item>
	</channel>
</rss>
