<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>App Per Month</title>
	
	<link>http://code-ninja.org</link>
	<description>My journey into iOS, Objective-C, and monthly app store releases</description>
	<lastBuildDate>Sat, 19 May 2012 16:20:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/code-ninja/GTmQ" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="code-ninja/gtmq" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>iOS Quick Tip – Avoid combining animations with setMasksToBounds, if possible</title>
		<link>http://code-ninja.org/blog/2012/05/19/ios-quick-tip-avoid-combining-animations-with-setmaskstobounds-if-possible/</link>
		<comments>http://code-ninja.org/blog/2012/05/19/ios-quick-tip-avoid-combining-animations-with-setmaskstobounds-if-possible/#comments</comments>
		<pubDate>Sat, 19 May 2012 16:20:39 +0000</pubDate>
		<dc:creator>Marty Dill</dc:creator>
				<category><![CDATA[iOS Quick Tips]]></category>

		<guid isPermaLink="false">http://code-ninja.org/?p=319</guid>
		<description><![CDATA[For Random Dice Roller, I wanted to have pretty looking buttons with rounded corners. If you google for something like &#8216;ios custom button with rounded corners&#8217;, you&#8217;ll find various examples that use setMasksToBounds and a corner radius, like this: &#91;button.layer &#8230; <a href="http://code-ninja.org/blog/2012/05/19/ios-quick-tip-avoid-combining-animations-with-setmaskstobounds-if-possible/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For <a href="http://code-ninja.org/apps/random-dice-roller/" title="Random Dice Roller">Random Dice Roller,</a> I wanted to have pretty looking buttons with rounded corners. If you google for something like &#8216;ios custom button with rounded corners&#8217;, you&#8217;ll find various examples that use setMasksToBounds and a corner radius, like this:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">&#91;</span>button.layer setMasksToBounds<span style="color: #002200;">:</span><span style="color: #a61390;">true</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>button.layer setCornerRadius<span style="color: #002200;">:</span>4.0f<span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>This was my initial approach, and it worked flawlessly. My button corners were perfectly rounded.</p>
<p>However, when I added animations into the mix, things didn&#8217;t quite work out so well. There was a noticeable lag when animating my screens full of buttons with modal-segue-style transitions. I tracked it down to the call to setMasksToBounds. With setMasksToBounds set to false, the animations were liquidy smooth, as expected. But turn it on, and things get choppy.</p>
<p>I didn&#8217;t want to release an app with noticeably choppy animations, so I started looking for a solution. Turns out that it&#8217;s ridiculously easy to solve the problem &#8211; just use a transparent .PNG with the corners already cut out!</p>
<p><a href="http://code-ninja.org/wp-content/uploads/2012/05/SetMasksToBoundsDemo.zip">Check out my sample project</a> to see the difference in performance. </p>
<p>If you run it on the simulator, it will appear to work fine; run it on your device, though &#8211; in my case an iPod Touch 4g &#8211; and you will see some significant choppiness.</p>
<p>The moral of the story is that setMasksToBounds can cause performance issues, and if you can avoid it, you should.</p>
]]></content:encoded>
			<wfw:commentRss>http://code-ninja.org/blog/2012/05/19/ios-quick-tip-avoid-combining-animations-with-setmaskstobounds-if-possible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attention Trackback Spammers</title>
		<link>http://code-ninja.org/blog/2012/05/13/attention-trackback-spammers/</link>
		<comments>http://code-ninja.org/blog/2012/05/13/attention-trackback-spammers/#comments</comments>
		<pubDate>Sun, 13 May 2012 16:20:09 +0000</pubDate>
		<dc:creator>Marty Dill</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://code-ninja.org/?p=316</guid>
		<description><![CDATA[Your spam is being blocked. Please give up and go bother someone else&#8217;s blog. This blog has been the target of a few hundred spammy trackbacks over the past week. Thanks to the &#8216;Simple Trackback Validation with Topsy Blocker&#8217; plugin, &#8230; <a href="http://code-ninja.org/blog/2012/05/13/attention-trackback-spammers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Your spam is being blocked. Please give up and go bother someone else&#8217;s blog.</p>
<p>This blog has been the target of a few hundred spammy trackbacks over the past week. Thanks to the &#8216;<strong>Simple Trackback Validation with Topsy Blocker&#8217; </strong>plugin, none of it is getting through.</p>
<p>Anyone have any good tips on how to avoid being the target of spammers?</p>
]]></content:encoded>
			<wfw:commentRss>http://code-ninja.org/blog/2012/05/13/attention-trackback-spammers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS App Postmortems – Random Dice Roller</title>
		<link>http://code-ninja.org/blog/2012/05/08/ios-app-postmortems-random-dice-roller/</link>
		<comments>http://code-ninja.org/blog/2012/05/08/ios-app-postmortems-random-dice-roller/#comments</comments>
		<pubDate>Tue, 08 May 2012 04:33:29 +0000</pubDate>
		<dc:creator>Marty Dill</dc:creator>
				<category><![CDATA[iOS App Postmortems]]></category>

		<guid isPermaLink="false">http://code-ninja.org/?p=313</guid>
		<description><![CDATA[Random Dice Roller, April&#8217;s 2nd app &#8211; or May&#8217;s first app, depending on how you look at it &#8211; is now out the door. As always, it&#8217;s time for another postmortem. Development Time: ~16h Review Time (time spent in the &#8230; <a href="http://code-ninja.org/blog/2012/05/08/ios-app-postmortems-random-dice-roller/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://itunes.apple.com/us/app/random-dice-roller/id523457681?ls=1&amp;mt=8">Random Dice Roller</a>, April&#8217;s 2nd app &#8211; or May&#8217;s first app, depending on how you look at it &#8211; is now out the door. As always, it&#8217;s time for another postmortem.</p>
<p>Development Time:</p>
<ul>
<li>~16h</li>
</ul>
<p>Review Time (time spent in the iOS app submission queue):</p>
<ul>
<li>9 days</li>
</ul>
<p>New technologies I learned and used:</p>
<ul>
<li>The main new technology here was networking. This was my first iOS app that touched the network in any way, shape, or form. Aside from the incredibly annoying extra-long default timeouts, it went quite smoothly, and resulted in my open-source class <a title="ReallyRandom – an Objective-C class for retrieving truly random numbers from http://random.org" href="http://code-ninja.org/blog/2012/04/22/reallyrandom-an-objective-c-class-for-retrieving-truly-random-numbers-from-httprandom-org/">ReallyRandom</a>.</li>
</ul>
<p>Challenges:</p>
<ul>
<li>I ran into some performance issues when using setMasksToBounds: to round the corners of UIButtons. This will likely be the subject of a blog post in the near future.</li>
<li>Taking good pictures of dice is hard!</li>
</ul>
<p>Future plans: I have quite a few plans for Random Dice Roller. So many, in fact, that it was a difficult decision to actually release it, instead of spending more time adding new features. But in the spirit of<em> release early, release often</em>, I decided to let it go sooner rather than later.</p>
<p>There are two things that will likely be coming at some point in the future. The first one is the ability to roll multiple sets of dice at once; that is, instead of just being able to roll something like 3d6, you could roll 3d6 + 2d8 + 1d4 all at once. This would be quite handy for those games of D&amp;D.</p>
<p>The second one is in-app purchases of different dice sets. I&#8217;m not sure what exactly the market would be for that, but I figure it&#8217;s worth a shot.</p>
<p>As always, please let me know if you have any feature requests or ideas!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-ninja.org/blog/2012/05/08/ios-app-postmortems-random-dice-roller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS Pain Points – iTunes Connect’s “Sales and Trends”</title>
		<link>http://code-ninja.org/blog/2012/05/03/ios-pain-points-itunes-connects-sales-and-trends/</link>
		<comments>http://code-ninja.org/blog/2012/05/03/ios-pain-points-itunes-connects-sales-and-trends/#comments</comments>
		<pubDate>Thu, 03 May 2012 04:53:36 +0000</pubDate>
		<dc:creator>Marty Dill</dc:creator>
				<category><![CDATA[iOS Pain Points]]></category>

		<guid isPermaLink="false">http://code-ninja.org/?p=298</guid>
		<description><![CDATA[The &#8216;Sales and Trends&#8217; section is the worst dashboard/analytics platform I&#8217;ve ever seen. It&#8217;s combination of uselessness and bugginess is unmatched. Let&#8217;s start off with a look at a few of the issues that I&#8217;m sure you&#8217;ve all seen before. Eagerly &#8230; <a href="http://code-ninja.org/blog/2012/05/03/ios-pain-points-itunes-connects-sales-and-trends/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The &#8216;Sales and Trends&#8217; section is the worst dashboard/analytics platform I&#8217;ve ever seen. It&#8217;s combination of uselessness and bugginess is unmatched.</p>
<p>Let&#8217;s start off with a look at a few of the issues that I&#8217;m sure you&#8217;ve all seen before. Eagerly awaiting your sales numbers the morning after your app is released? Too bad.</p>
<p style="text-align: center;"><a href="http://code-ninja.org/wp-content/uploads/2012/05/itunesconnect3.png"><img class="aligncenter  wp-image-299" title="I hate this message" src="http://code-ninja.org/wp-content/uploads/2012/05/itunesconnect3-300x28.png" alt="" width="450" height="42" /></a></p>
<p style="text-align: left;">You would think that Apple would at least do some basic QA to make sure stuff displays properly. But, they apparently don&#8217;t.</p>
<p style="text-align: center;"><a href="http://code-ninja.org/wp-content/uploads/2012/05/itunesconnect1.png"><img class="aligncenter size-full wp-image-301" title="Too many %s and .s" src="http://code-ninja.org/wp-content/uploads/2012/05/itunesconnect1.png" alt="" width="457" height="236" /></a></p>
<p style="text-align: left;">Grammar? What&#8217;s that?</p>
<p style="text-align: left;"><a href="http://code-ninja.org/wp-content/uploads/2012/05/itunesconnect5.png"><img class="aligncenter size-full wp-image-306" title="Good grammars" src="http://code-ninja.org/wp-content/uploads/2012/05/itunesconnect5.png" alt="" width="199" height="43" /></a></p>
<p style="text-align: left;">The attention to detail is astounding.</p>
<p style="text-align: center;"><a href="http://code-ninja.org/wp-content/uploads/2012/05/itunesconnect2.png"><img class="aligncenter size-full wp-image-302" title="Cut off text" src="http://code-ninja.org/wp-content/uploads/2012/05/itunesconnect2.png" alt="" width="329" height="28" /></a></p>
<p style="text-align: left;">But enough of the minor annoyances. The real problem with Sales and Trends is the lack of functionality.</p>
<p style="text-align: left;">When you select something from the dropdown above, you aren&#8217;t selecting a &#8220;week&#8221; or a &#8220;day&#8221;. You&#8217;re selecting the end period for some arbitrary, unknown date range. Why can&#8217;t I simply <em>choose a date range</em> to view results for? Why am I limited to viewing the results for the past X days or weeks, starting at day or week Y?</p>
<p style="text-align: left;">Why can I only view data for the past few weeks? Apple is one of the <em>richest companies in the history of the universe</em>, but they can&#8217;t even spend a few fractions of a penny on a few extra bytes of storage for historic data?</p>
<p style="text-align: left;">Why can&#8217;t I filter the results by product?</p>
<p style="text-align: left;">Why does it always show me &#8216;Free Apps&#8217; by default, instead of remembering that I was previously on the &#8216;Paid Apps&#8217; view, and that every single time I log in, the first thing I do is click on &#8216;Paid Apps&#8217;?</p>
<p style="text-align: left;">Why does Apple&#8217;s development ecosystem continue to frustrate and disappoint?</p>
]]></content:encoded>
			<wfw:commentRss>http://code-ninja.org/blog/2012/05/03/ios-pain-points-itunes-connects-sales-and-trends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Per Month – 4 Month Review</title>
		<link>http://code-ninja.org/blog/2012/04/26/app-per-month-4-month-review/</link>
		<comments>http://code-ninja.org/blog/2012/04/26/app-per-month-4-month-review/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 03:45:25 +0000</pubDate>
		<dc:creator>Marty Dill</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://code-ninja.org/?p=290</guid>
		<description><![CDATA[The blog has been around for about four months now, so I thought it would be nice to do a little retrospective of what happend, and a look at what&#8217;s to come. I have released 3 apps so far: BBQ &#8230; <a href="http://code-ninja.org/blog/2012/04/26/app-per-month-4-month-review/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The blog has been around for about four months now, so I thought it would be nice to do a little retrospective of what happend, and a look at what&#8217;s to come.</p>
<p>I have released 3 apps so far: <a title="BBQ Menu" href="http://code-ninja.org/apps/bbq-menu/">BBQ Menu</a>, <a title="PhoToDo" href="http://code-ninja.org/apps/photodo/">PhoToDo</a>, and<a title="Feeling Blue?" href="http://code-ninja.org/apps/feeling-blue/"> Feeling Blue?</a>. Sales have not been stellar, but they have been slowly improving.</p>
<p>Website traffic has been consistently increasing, which is quite encouraging.</p>
<p><a href="http://code-ninja.org/wp-content/uploads/2012/04/blog-traffic-april-2012.png"><img class="aligncenter size-full wp-image-291" title="blog-traffic-april-2012" src="http://code-ninja.org/wp-content/uploads/2012/04/blog-traffic-april-2012.png" alt="" width="523" height="263" /></a></p>
<p>My most popular post, by far, has been <a title="iOS Quick Tip: Filtering a UITableView with a search bar" href="http://code-ninja.org/blog/2012/01/08/ios-quick-tip-filtering-a-uitableview-with-a-search-bar/">Filtering a UITableView with a search bar</a>. It accounts for a significant percentage of the blog&#8217;s traffic.</p>
<p>And as for <a title="Goals for 2012" href="http://code-ninja.org/blog/2012/01/01/goals-for-2012/">2012&#8242;s goals</a>? Let&#8217;s have a look.</p>
<ul>
<li>Sign up for the iOS Developer Program<span style="color: #339966;"> *Complete!*</span></li>
<li>Release my first app to the app store by the end of January <span style="color: #ff6600;">*Slightly late, but close*</span></li>
<li>Release some open-source Objective-C code <a title="ReallyRandom – an Objective-C class for retrieving truly random numbers from http://random.org" href="http://code-ninja.org/blog/2012/04/22/reallyrandom-an-objective-c-class-for-retrieving-truly-random-numbers-from-httprandom-org/">*Complete!*</a></li>
<li>Start answering Objective-C or iOS questions on Stack Overflow <a href="http://stackoverflow.com/a/8663737/184630">*Complete!*</a></li>
<li>Blog at least twice per week <span style="color: #ff6600;">*Slightly behind schedule*</span></li>
<li>Come up with 10 legitimate ideas for App Store apps <span style="color: #339966;">*3 down, 1 in development, a few more ideas in the works*</span></li>
<li>Implement and release one of those 10 ideas every month or so <span style="color: #339966;">*On track so far*</span></li>
</ul>
<div><span style="color: #000000;">Not a bad report card so far, I think. Here&#8217;s hoping 2012 continues to rock!</span></div>
]]></content:encoded>
			<wfw:commentRss>http://code-ninja.org/blog/2012/04/26/app-per-month-4-month-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ReallyRandom – an Objective-C class for retrieving truly random numbers from http://random.org</title>
		<link>http://code-ninja.org/blog/2012/04/22/reallyrandom-an-objective-c-class-for-retrieving-truly-random-numbers-from-httprandom-org/</link>
		<comments>http://code-ninja.org/blog/2012/04/22/reallyrandom-an-objective-c-class-for-retrieving-truly-random-numbers-from-httprandom-org/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 18:29:00 +0000</pubDate>
		<dc:creator>Marty Dill</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://code-ninja.org/?p=286</guid>
		<description><![CDATA[One of my goals for the year was to release some open-source Objective-C code. I am happy to say that I nave now accomplished that goal! ReallyRandom is an Objective-C class for retrieving truly random numbers from http://random.org. It supports synchronous &#8230; <a href="http://code-ninja.org/blog/2012/04/22/reallyrandom-an-objective-c-class-for-retrieving-truly-random-numbers-from-httprandom-org/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of my <a title="Goals for 2012" href="http://code-ninja.org/blog/2012/01/01/goals-for-2012/">goals for the year</a> was to release some open-source Objective-C code. I am happy to say that I nave now accomplished that goal!</p>
<p><a href="https://github.com/martydill/ReallyRandom">ReallyRandom</a> is an Objective-C class for retrieving truly random numbers from http://random.org. It supports synchronous and asynchronous operation and offers much nicer timeouts than the standard 30 second or 240 second timeouts. I know this class might not exactly have widespread appeal, but maybe someone will find it useful one day. You can get the code from <a href="https://github.com/martydill/ReallyRandom">GitHub</a>.</p>
<p>I wrote this class as part of my latest app, which I hope to complete by the end of April. After all, I have to live up to the &#8216;App Per Month&#8217; name, don&#8217;t I?</p>
<p>As I am still an absolute beginner when it comes to Objective-C, I would love any feedback on coding style, best practices, and API usage.</p>
]]></content:encoded>
			<wfw:commentRss>http://code-ninja.org/blog/2012/04/22/reallyrandom-an-objective-c-class-for-retrieving-truly-random-numbers-from-httprandom-org/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iOS App Postmortems – Feeling Blue?</title>
		<link>http://code-ninja.org/blog/2012/04/19/ios-app-postmortems-feeling-blue/</link>
		<comments>http://code-ninja.org/blog/2012/04/19/ios-app-postmortems-feeling-blue/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 14:42:42 +0000</pubDate>
		<dc:creator>Marty Dill</dc:creator>
				<category><![CDATA[iOS App Postmortems]]></category>

		<guid isPermaLink="false">http://code-ninja.org/?p=279</guid>
		<description><![CDATA[Well, it took a little longer than expected, but March April&#8217;s app - Feeling Blue?- is now available on the App Store, and that means it&#8217;s time for a postmortem! Development Time: ~10h or so, over a period of about 5 weeks &#8230; <a href="http://code-ninja.org/blog/2012/04/19/ios-app-postmortems-feeling-blue/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Well, it took a little longer than expected, but <del>March</del> April&#8217;s app - <a href="http://itunes.apple.com/us/app/feeling-blue/id518552634?ls=1&amp;mt=8">Feeling Blue?</a>- is now available on the App Store, and that means it&#8217;s time for a postmortem!</p>
<p>Development Time:</p>
<ul>
<li>~10h or so, over a period of about 5 weeks (this included some vacation time and a few other things, hence the delay).</li>
</ul>
<p>Review Time (time spent in the iOS app submission queue):</p>
<ul>
<li>7 days</li>
</ul>
<p>New technologies I learned and used:</p>
<ul>
<li>I think the only new things I used were UIView animations and transparencies</li>
</ul>
<p>Challenges:</p>
<ul>
<li>The primary challenge this time was figuring out which pictures from my gigantic photo collection to use!</li>
<li>Figuring out how to get <a title="iOS Quick Tips – Fading in a UIView with a transparent background, but not transparent contents" href="http://code-ninja.org/blog/2012/04/05/ios-quick-tips-fading-in-a-uiview-with-a-transparent-background-but-not-transparent-contents/">UIViews to fade in properly</a> was a pain</li>
<li>As always, UI design is somewhat of a challenge.</li>
</ul>
<p>Future plans: I doubt the app will get very many new features, as it already does everything it needs to, but I will likely add more pictures and quips to it.</p>
<p>As always, please let me know if you have any feature requests or ideas!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-ninja.org/blog/2012/04/19/ios-app-postmortems-feeling-blue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS Quick Tips – ‘A signed resource has been added, modified, or deleted’</title>
		<link>http://code-ninja.org/blog/2012/04/17/signed-resource-has-been-added-modified-or-deleted/</link>
		<comments>http://code-ninja.org/blog/2012/04/17/signed-resource-has-been-added-modified-or-deleted/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 04:37:02 +0000</pubDate>
		<dc:creator>Marty Dill</dc:creator>
				<category><![CDATA[iOS Quick Tips]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://code-ninja.org/?p=260</guid>
		<description><![CDATA[While trying to run my latest app on my device, I kept encountering a very strange error. Xcode would pop up with a message box saying &#8216;A signed resource has been added, modified, or deleted&#8217; Huh? What? In typical Xcode &#8230; <a href="http://code-ninja.org/blog/2012/04/17/signed-resource-has-been-added-modified-or-deleted/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>While trying to run my latest app on my device, I kept encountering a very strange error. Xcode would pop up with a message box saying</p>
<blockquote><p>&#8216;A signed resource has been added, modified, or deleted&#8217;</p></blockquote>
<p>Huh? What? In typical Xcode fashion, the error message doesn&#8217;t actually tell you anything about what&#8217;s wrong or how to fix it. It turns out that the problem was caused by having special character in the product name &#8211; in my case, a ?. Removing the ? from the product name fixed the problem. But I really wanted that question mark; the app wouldn&#8217;t be the same without it! Not to worry, because you can set the bundle name (the name that gets shown on your device&#8217;s home screen) independently of the product name, and the bundle name can contain special characters.</p>
<p>So, let this be a warning: don&#8217;t put any special characters in your product name &#8211; only put them in your bundle name!</p>
<p>&nbsp;</p>
<p>As an aside, the issues with broken links on the blog should now be fixed. Sorry for the inconvenience!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-ninja.org/blog/2012/04/17/signed-resource-has-been-added-modified-or-deleted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS Pain Points – the Xcode 4.3 / iOS 5.1 / Lion versioning debacle</title>
		<link>http://code-ninja.org/blog/2012/04/12/ios-pain-points-the-xcode-4-3-ios-5-1-lion-versioning-debacle/</link>
		<comments>http://code-ninja.org/blog/2012/04/12/ios-pain-points-the-xcode-4-3-ios-5-1-lion-versioning-debacle/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 14:37:36 +0000</pubDate>
		<dc:creator>Marty Dill</dc:creator>
				<category><![CDATA[iOS Pain Points]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://code-ninja.org/?p=251</guid>
		<description><![CDATA[Earlier today I wanted to test out March&#8217;s application on my iPod, which I had upgrade to iOS 5.1 a while ago. I was quite surprised to see that I was not able to, because &#8220;The version of iOS on &#8230; <a href="http://code-ninja.org/blog/2012/04/12/ios-pain-points-the-xcode-4-3-ios-5-1-lion-versioning-debacle/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Earlier today I wanted to test out March&#8217;s application on my iPod, which I had upgrade to iOS 5.1 a while ago. I was quite surprised to see that I was not able to, because &#8220;The version of iOS on my iPod does not match any of the versions of iOS supported for development with this installation of the iOS SDK.&#8221;</p>
<p>It turns out that in order to run your apps on an iOS 5.1 device, you need Xcode 4.3. Ok, fair enough; I&#8217;ll just go and downlo&#8230;. oh, wait. It requires OS X Lion.</p>
<p>Huh?</p>
<p>In order to develop for a minor revision of iOS, I need a minor revision of Xcode, which requires an <em>entirely new operating system</em>?</p>
<p>So, my options are now:</p>
<ol>
<li>Upgrade to Lion</li>
<li>Downgrade to IOS 5</li>
<li>Hack Xcode 4.3 to run on Snow Leapoard</li>
</ol>
<div>Since there appears to be no officially supported way of doing #2 or #3, my only choice is to upgrade to Lion.</div>
<p>Thanks, Apple. Nice to see you still have no respect for your developers. At least<a href="http://www.cocoabuilder.com/archive/xcode/315055-ios-5-1-sdk-for-xcode-4-2-for-snow-leopard.html"> I&#8217;m not the only one</a> who<a href="https://devforums.apple.com/thread/144061"> feels this way</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://code-ninja.org/blog/2012/04/12/ios-pain-points-the-xcode-4-3-ios-5-1-lion-versioning-debacle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS Quick Tips – Fading in a UIView with a transparent background, but not transparent contents</title>
		<link>http://code-ninja.org/blog/2012/04/05/ios-quick-tips-fading-in-a-uiview-with-a-transparent-background-but-not-transparent-contents/</link>
		<comments>http://code-ninja.org/blog/2012/04/05/ios-quick-tips-fading-in-a-uiview-with-a-transparent-background-but-not-transparent-contents/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 02:51:53 +0000</pubDate>
		<dc:creator>Marty Dill</dc:creator>
				<category><![CDATA[iOS Quick Tips]]></category>

		<guid isPermaLink="false">http://code-ninja.org/?p=241</guid>
		<description><![CDATA[For March&#8217;s (slightly delayed) app, I wanted to fade in a UIView. Easy enough, right? Well, the catch was that I wanted the background to be partially transparent, but I didn&#8217;t want the contents of the view to be transparent. &#8230; <a href="http://code-ninja.org/blog/2012/04/05/ios-quick-tips-fading-in-a-uiview-with-a-transparent-background-but-not-transparent-contents/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For March&#8217;s (slightly delayed) app, I wanted to fade in a UIView. Easy enough, right? Well, the catch was that I wanted the background to be partially transparent, but I didn&#8217;t want the contents of the view to be transparent.<br />
My first attempt was simply to animate the view&#8217;s alpha value from 0 to 1:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;">view.alpha <span style="color: #002200;">=</span> <span style="color: #2400d9;">0</span>;
&nbsp;
<span style="color: #002200;">&#91;</span>UIView beginAnimations<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;fade in&quot;</span> context<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>UIView setAnimationDuration<span style="color: #002200;">:</span><span style="color: #2400d9;">3.0</span><span style="color: #002200;">&#93;</span>;
view.alpha <span style="color: #002200;">=</span> <span style="color: #2400d9;">0.5</span>;
<span style="color: #002200;">&#91;</span>UIView commitAnimations<span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>This didn&#8217;t quite do the trick; although the view&#8217;s background was transparent, so were its contents. Oops!<br />
<a href="http://code-ninja.org/wp-content/uploads/2012/04/bad1.png"><img src="http://code-ninja.org/wp-content/uploads/2012/04/bad1.png" alt="" title="bad1" width="428" height="252" class="aligncenter size-full wp-image-243" /></a></p>
<p>After doing some searching, I found a StackOverflow post which suggested to use colorWithAlphaComponent to set the view&#8217;s background color, instead setting the view&#8217;s alpha. So here was attempt #2:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">&#91;</span>view setBackgroundColor<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIColor blackColor<span style="color: #002200;">&#93;</span> colorWithAlphaComponent<span style="color: #002200;">:</span><span style="color: #2400d9;">0</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
<span style="color: #002200;">&#91;</span>UIView beginAnimations<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;fade in&quot;</span> context<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>UIView setAnimationDuration<span style="color: #002200;">:</span><span style="color: #2400d9;">3.0</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>view setBackgroundColor<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIColor blackColor<span style="color: #002200;">&#93;</span> colorWithAlphaComponent<span style="color: #002200;">:</span><span style="color: #2400d9;">0.5</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>UIView commitAnimations<span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>This wasn&#8217;t quite right either. The view&#8217;s contents appeared fully opaque as soon as the view was displayed, before the background had faded in!<br />
<a href="http://code-ninja.org/wp-content/uploads/2012/04/bad2.png"><img src="http://code-ninja.org/wp-content/uploads/2012/04/bad2.png" alt="" title="bad2" width="438" height="257" class="aligncenter size-full wp-image-244" /></a></p>
<p>So, to fix this problem, all we have to do is use a combination of the methods. Use colorWithAlphaComponent to fade in the view&#8217;s background, and use alpha to fade in the contents of the view:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">&#91;</span>view setBackgroundColor<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIColor blackColor<span style="color: #002200;">&#93;</span> colorWithAlphaComponent<span style="color: #002200;">:</span><span style="color: #2400d9;">0</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
label.alpha <span style="color: #002200;">=</span> <span style="color: #2400d9;">0</span>;
&nbsp;
<span style="color: #002200;">&#91;</span>UIView beginAnimations<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;fade in&quot;</span> context<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>UIView setAnimationDuration<span style="color: #002200;">:</span><span style="color: #2400d9;">3.0</span><span style="color: #002200;">&#93;</span>;
label.alpha <span style="color: #002200;">=</span> <span style="color: #2400d9;">1.0</span>;
<span style="color: #002200;">&#91;</span>view setBackgroundColor<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIColor blackColor<span style="color: #002200;">&#93;</span> colorWithAlphaComponent<span style="color: #002200;">:</span><span style="color: #2400d9;">0.5</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#91;</span>UIView commitAnimations<span style="color: #002200;">&#93;</span>;</pre></div></div>

<p>Success!<br />
<a href="http://code-ninja.org/wp-content/uploads/2012/04/good.png"><img src="http://code-ninja.org/wp-content/uploads/2012/04/good.png" alt="" title="good" width="431" height="262" class="aligncenter size-full wp-image-245" /></a></p>
<p>Of course, you can&#8217;t actually see the fade in animation in the screenshots, so here&#8217;s a sample project that demonstrates the problems and the solution.<br />
<a href='http://code-ninja.org/wp-content/uploads/2012/04/UIViewFadeInDemo.zip'>Download the Sample Project</a></p>
]]></content:encoded>
			<wfw:commentRss>http://code-ninja.org/blog/2012/04/05/ios-quick-tips-fading-in-a-uiview-with-a-transparent-background-but-not-transparent-contents/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

