<?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/"
	>

<channel>
	<title>Josh Schumacher: A PHP Developer &#187; iPhone Development</title>
	<atom:link href="http://blog.joshschumacher.com/category/iphone-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.joshschumacher.com</link>
	<description>The biggest and the best in the Northwest</description>
	<lastBuildDate>Thu, 29 Oct 2009 21:54:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Advanced iPhone Web Development</title>
		<link>http://blog.joshschumacher.com/2009/05/06/advanced-iphone-web-development/</link>
		<comments>http://blog.joshschumacher.com/2009/05/06/advanced-iphone-web-development/#comments</comments>
		<pubDate>Wed, 06 May 2009 19:06:06 +0000</pubDate>
		<dc:creator>Josh Schumacher</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[iPhone Development]]></category>
		<category><![CDATA[iPhone SDK]]></category>

		<guid isPermaLink="false">http://blog.joshschumacher.com/?p=26</guid>
		<description><![CDATA[Yesterday (May 5th, 2009), I gave a presentation at the Seattle iPhone App Developers and Designers Meetup titled, &#8220;Advanced iPhone Web Development.&#8221; This presentation focused on the unique capabilities available in WebKit on the iPhone and on possibilities for utilizing UIWebViews inside of your native applications. You can download a pdf version of the presentation [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday (May 5th, 2009), I gave a presentation at the <a href="http://www.meetup.com/The-Seattle-iPhone-Development-Meetup-Group/">Seattle iPhone App Developers and Designers Meetup</a> titled, &#8220;Advanced iPhone Web Development.&#8221;  This presentation focused on the unique capabilities available in WebKit on the iPhone and on possibilities for utilizing UIWebViews inside of your native applications.</p>
<p>You can download a pdf version of the presentation here: <a href='http://blog.joshschumacher.com/wp-content/uploads/2009/05/advanced-iphone-web-development.pdf'>Advanced iPhone Web Development</a> <img src="http://joshschumacher.com/images/pdf.png" alt="[PDF]" /></p>
<div style="width:500px;text-align:left" id="__ss_1395729"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/joshs633/advanced-iphone-web-development?type=powerpoint" title="Advanced iPhone Web Development">Advanced iPhone Web Development Slideshow</a> (Best Viewed In Fullscreen)<object style="margin:0px" width="500" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=advancediphonewebdevelopment-090506130756-phpapp02&#038;rel=0&#038;stripped_title=advanced-iphone-web-development" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=advancediphonewebdevelopment-090506130756-phpapp02&#038;rel=0&#038;stripped_title=advanced-iphone-web-development" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/joshs633">Josh Schumacher</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.joshschumacher.com/2009/05/06/advanced-iphone-web-development/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The future of mobile web applications</title>
		<link>http://blog.joshschumacher.com/2009/03/18/the-future-of-mobile-web-applications/</link>
		<comments>http://blog.joshschumacher.com/2009/03/18/the-future-of-mobile-web-applications/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 19:07:26 +0000</pubDate>
		<dc:creator>Josh Schumacher</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[iPhone Development]]></category>

		<guid isPermaLink="false">http://blog.joshschumacher.com/?p=21</guid>
		<description><![CDATA[Thinking back three years ago, I was starting to play around with developing web applications for mobile devices.  The hot device of the time was the Palm Treo.  The default browser that came with the Treo, Blazer, really sucks.  It was rough trying to write pages that worked perfectly in Blazer.  Sure, simple, basic HTML [...]]]></description>
			<content:encoded><![CDATA[<p><span>Thinking back three years ago, I was starting to play around with developing web applications for mobile devices.  The hot device of the time was the Palm Treo.  The default browser that came with the Treo, Blazer, really sucks.  It was rough trying to write pages that worked perfectly in Blazer.  Sure, simple, basic HTML rendered just fine but I had a background in developing for the traditional desktop web experience and I wanted to write awesome sites utilizing CSS and Javascript.  I wanted to write an AJAX application for mobile devices.  It would be icing on the cake if I could get it to work on lower end devices as well, but that seemed pretty pie in the sky at the time.</span></p>
<p><span>Webkit will be the future rendering engine of the mobile web (at least I hope it is).  It’s an amazing, full featured engine with bleeding edge web standards implementations of HTML 5 and CSS 3.  Webkit has been getting some great traction lately with some amazing devices implementing it as their default browser engine, Android, Palm Pre and of course the iPhone (and iPod Touch) have all fully embraced Webkit.  I want to see that list get a lot longer; I hope to start seeing Webkit on lower end mobile devices.</span></p>
<p><span>What makes Webkit so awesome?  How about CSS effects, blazing fast javascript execution (especially in their new Nitro engine in Safari 4), HTML offline support &#8211; including offline data storage and support for offline cache manifests, CSS gradients, CSS border radius and border images, CSS transforms, and a lot more.  On the iPhone, it now even has custom events to pass down gesture events to the DOM.  You can now do most things you could once only dream of doing in flash in straight HTML, CSS and Javascript on small devices stored in someone’s pocket.</span></p>
<p><span>The future of mobile web applications are social, location aware, providing a tailored experience based on user preferences.  Future mobile web applications will morph based on user behavior.  The will provide a graphically rich experience with beautiful design elements enhancing every aspect of the application.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joshschumacher.com/2009/03/18/the-future-of-mobile-web-applications/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reading Common and Custom Values From Your Info.plist</title>
		<link>http://blog.joshschumacher.com/2009/02/19/reading-common-and-custom-values-from-your-infoplist/</link>
		<comments>http://blog.joshschumacher.com/2009/02/19/reading-common-and-custom-values-from-your-infoplist/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 00:35:21 +0000</pubDate>
		<dc:creator>Josh Schumacher</dc:creator>
				<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[iPhone Development]]></category>
		<category><![CDATA[iPhone SDK]]></category>

		<guid isPermaLink="false">http://blog.joshschumacher.com/?p=20</guid>
		<description><![CDATA[It seems like a pretty simple, common thing you would want to do in objective-c right?  All applications have an Info.plist (or a different plist file as defined in your "Info.plist File" property of your build target).  I've been pretty frustrated with the quality of google search results when trying to figure out how to [...]]]></description>
			<content:encoded><![CDATA[<p>It seems like a pretty simple, common thing you would want to do in objective-c right?  All applications have an Info.plist (or a different plist file as defined in your "Info.plist File" property of your build target).  I've been pretty frustrated with the quality of google search results when trying to figure out how to do more or less mundane things with the iPhone SDK.  I'm going to start writting posts, especially when I have a hard time trying to find what I was looking for in search results.</p>
<p>Here's the quick and dirty: I have a game that we're building here at <a href="http://treemolabs.com">Treemo Labs</a>, <a href="http://www.ticatacgames.net">Tic A Tac Poker</a>.  We're working on getting a lite version out the door.  I wanted to read a custom value out of the Info.plist to tell if it's the lite version or not.  I couldn't figure out how to read a simple value from the default property list file.  Here's some sample code to get the bundleIdentifier, bundle version and custom values from your Info.plist</p>
<div class="igBar"><span id="lcode-2"><a href="#" onclick="javascript:showPlainTxt('code-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-2">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// Create a new NSBundle pointer</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NSBundle* mainBundle;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// The Info.plist is considered the mainBundle.</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mainBundle = <span style="color:#006600; font-weight:bold;">&#91;</span>NSBundle mainBundle<span style="color:#006600; font-weight:bold;">&#93;</span>;&nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// Reads the value of the custom key I added to the Info.plist</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>mainBundle objectForInfoDictionaryKey:@<span style="color:#CC0000;">"myCustomKey"</span><span style="color:#006600; font-weight:bold;">&#93;</span> </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// Another handy thing I had to search around for a little</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// Get the value for the &quot;Bundle version&quot; from the Info.plist</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>mainBundle objectForInfoDictionaryKey:@<span style="color:#CC0000;">"CFBundleVersion"</span><span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// Need the bundle identifier? (probably something like com.mycorp.product)</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#91;</span>mainBundle bundleIdentifier<span style="color:#006600; font-weight:bold;">&#93;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>For more information about the NSBundle, view the <a href="http://developer.apple.com/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSBundle_Class/Reference/Reference.html#//apple_ref/doc/uid/20000214">NSBundle Reference Documentation</a>.</p>
<p>To see an alphabetical list of the standard keys you can use in an information property list file, along with a brief description and the platforms to which they apply (Mac OS X or iPhone) check out the <a href="http://developer.apple.com/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/PListKeys.html">Property List Key Reference</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joshschumacher.com/2009/02/19/reading-common-and-custom-values-from-your-infoplist/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
