Useful Objective C Book

Some development books get outdated real fast due to the rapid pace of changes in the iOS SDK. Because of that, I find it hard to recommend books to new iOS developers. But here is one resource that is very useful to have.

The book is quite thorough and covers most of the basics that can help with programming in Objective C. Highly recommended!
Of course, the more impatient types will likely opt for something like Beginning iPhone 4 Development: Exploring the iOS SDK by LaMarche, et al. I’d recommend this as well for getting through the initial hurdles and actually getting an app developed in the shortest time possible. However, these types of SDK-specific books get outdated rather quickly, since, as we all know, it’s no longer about iOS4 but rather iOS 5 nowadays.
If you want to get up and running ASAP, you’ll do well with the iPhone development book by LaMarche and others. But if you want the fundamentals, go for the Objective C book. But if you are just starting out, my best recommendation is to get both books.

Will your app be rejected?

For the consumer, the iTunes App Store is better than the Android marketplace because it is a “curated” market, which means that there are people who actually review apps to make sure that they are acceptable for publishing.
Now, this is a double-edged sword, because on the one hand, it should ensure a certain minimal level of functionality. But in reality, it is an imperfect process and is also an evolving set of guidelines. (Translation: moving target!)
In the past few months, since around the time of WWDC 2011, the App Reviewers seem to have gotten much more stringent.
I’ve done a lot of development work for clients, and here are two of the most common reasons for rejection that I’ve seen. So, before starting a project, I usually advise them of the possibility that their app may be rejected.
RSS Feed Readers
A lot of people assume that they can simply take their website or blog and create an iOS app and instantly reap the benefits of an additional target market. While this may have been true in the earlier years, it definitely is no longer true. For the most part, standalone RSS feed readers will be rejected. There are always innovative ways to work around these rejections, but it can really rattle you to the core to get an email that says something like, “(Name of your app): App Submission Feedback” instead of the typical “Your app status is Processing for the App Store.”
The good news, however, is that it’s not impossible to get even your personal blog on the App Store. The actual solution may be slightly different depending on the app type, but typically the solution involves providing some sort of functionality that only an app can provide and something that a mobile optimized website can’t provide. (I’ve done so successfully myself for a couple of clients, so I know for sure that it can be done. Obviously, this is something that I can divulge only to clients.)
Another common reason for rejection is also related to porting website content or their marketing collateral into an iOS app. This is a common pitfall, because a lot of small to medium sized companies register for an Apple Developer account just to gain a presence on the App Store. While this seems to be more of a hit-or-miss situation than RSS feed apps (which seem to be nearly 100% rejections), it may be better to add other features that take advantage of iOS device capabilities ahead of time.
Do you see a pattern? The App Store is trying hard to differentiate itself from the web by ensuring that the apps are not just websites in a new skin. This doesn’t mean, however, that you should forget about publishing an app altogether if you have a blog that you want to turn into an app.
Just as the saying goes, there really is more than one way to skin a cat. There are many ways of adding in specific features so that an app can pass the review process. Hopefully your development provider is experienced enough to help you navigate the waters. It can’t hurt to ask any potential providers upfront if they have any knowledge about whether or not your app idea might get rejected.

“SEO Optimizing” Your App for iTunes – Part 4 (Additional Findings)

In my continuing quest to SEO optimize my apps for iTunes, I’ve just made what I think is a very important discovery, the hard way.
For one of my apps, I had a phrase, like the following:
where AAA, BBB, CCC, DDD are individual keywords.
But the strangest thing was that my app simply wouldn’t come up in iTunes when I did a search for BBB CCC. I found that very odd that some of my keywords were apparently not being indexed, so I shot off an email to the support. After getting several rounds of standard cut/paste responses, I finally get a phone call (that I missed) and an email, which explained to me what happened.
Apparently, what happened was that the App Reviewer actually rejected my BBB CCC phrase, because they found that it matched the name of another app! The rejection is done manually, but the scary thing is that there is nothing in iTunes Connect that alerts you of this!
So, you could go on happily thinking that you’re SEO-optimized completely oblivious of the fact that some of your keywords may have been removed from indexing. That is a really scary thought.
Had I used BBB,CCC instead, it would have indexed properly. The email from Apple went so far as to suggest that using individual keywords would have gotten my app indexed properly.
So, two very important findings from an SEO optimization perspective.
1. When using keywords, be careful that your keywords won’t be flagged for being the same as another live app on the store. I would imagine this doesn’t happen in general for single keywords, but can happen for phrases. This can happen completely without your knowledge. It may not always happen since it’s evidently a manual flagging process, but you don’t want to take chances.
2. Instead, use single keywords separated by commas rather than by using spaces, to prevent an app reviewer from inadvertently mistaking your keyword phrase for an app name and inappropriately flag it to exclude it from the indexing process.
Hope this helps!

How to take easy screenshots from iPhone Simulator

Capturing screenshots of your app for iTunes Connect can feel like a laborious process. For clients that don’t have a Mac, I have to advise them to take manual screenshots on their device using the sleep and home button combination and then to email it to themselves. However, this is really slow, and should be done only if you do not have a Mac.
If you do have a Mac and you’ve installed XCode, then it’s relatively painless to do screen captures. And no, I don’t advise buying an app or some other method to do this.
1. Launch XCode and open up your XCode project file.
2. Build and run your app on the iPhone Simulator (or the iPad Simulator).
3. Simply press Cmd+Ctrl+C.
4. Launch the Preview app, and create a new file from the Clipboard.
5. Your screenshot is now available to be saved as a png file. (I recommend removing the 20px status bar by cropping it from Photoshop or some other image-editing tool.)
That’s it!
PS. Others recommend just using the default OSX method for screen captures, but I don’t recommend it due to the fact that it’s hard to get the pixel sizes right.