This blog contains the essential information for iPhone application development.
Thursday, July 21, 2011
Steps to avoid app rejection from Apple
An app idea or product app takes much of time and money investment to get into app world existence. The major hurdle to it’s success could be Apple’s review process. There can be numerous reasons for Apple’s rejections for your app. With our superior knowledge of iOS apps development since the day Apple launched their SDK, we are able to gain valuable insights into Apple’s review process.
This will help:
1. Developers to save their precious time and efforts.
2. Let you plan for a better user experience which is the key reason behind all the app store guidelines.
There are few key points which every iPhone/iPad developer should know when developing an app for Apple devices.
Key things to avoid Apple’s app rejection:
1. Bugs/Crashes- The most common reason for any app to get rejected are freezing and frequent crashes. Make sure you test it on multiple devices, different OS versions and specifically under varying network conditions. Peer-to-peer reviews/testing done by developers would certainly help. If your app crashes or doesn’t respond during the app review by Apple’s testing team then it will definitely be rejected.
2. Code Download- You cannot create an app that downloads and executes code that was not present in the app bundle submitted to Apple.
3. Similar Icons- The app store 512×512 icon should be same as the app’s 57×57 icon. Even though there is no such direct rule in contract/agreement with Apple, its their store and they make the rules for reviews. If your app’s icon on phone and app store icon do not match, Apple will state having un-matching icons to reject the app.
4. Network Connectivity- You must notify the user if network is unavailable. Just having the spinning busy icon display and a message saying “trying to connect” is against the guidelines. Proper message is needed at all the screens to convey clear message if network is not available after certain period of time. Many developers put their connectivity checks on Apple’s Reachability code, which is using that sample code for the wrong purpose. If you need to get data from a specific server, then try to download some data from that domain.
5. “Free+Paid” apps-Apple reported to few developers that app may get rejected, if it contains visually disabled buttons, prompting the user to upgrade for the full version or displaying the price of full version in the Free version. So, iPhone developers must ensure that they follow all the rules.
6. Consistent Button Images-If an iPhone developer wants to use Apple’s existing image for his button then see that functions are identical because you can use a standard button in a non-standard way if your app is providing a “immersive environment” so it is better to create your own button. If there are any variations with function then again Apple might reject the app.
It is always advisable for an iPhone developer to use their own custom buttons in the app.
7. iOS version support- If you plan on submitting and app which runs with 3.0 and higher versions, you should be sure that it works perfectly on all the versions from the iOS 3.0 to the most current version. Apple will test it with the latest version to see the potential of the app but if the app fails to prove itself Apple will definitely rejected your app.
8. Transactions outside The App Store- Apple do not allow developers to conduct any transaction/business outside the app store. In App purchases are the recommended way to implement these transaction. Recent announcement to allow outside payment transaction with certain restriction and Apple’s percentage take from money for the same is trickier and would take more time to settle down in business plan of apps sale.
9. Private APIs- Apple strictly reject apps which are implementing programs using Private APIs. Apple has scripts that can scan your app codes for violations. If you want to prevent app rejection from app store make sure you read the developer guidelines carefully before implementing any API marked private by Apple.
10. Popovers- It is definitely not recommended to launch one popover from within another popover. The iPad Human Interface Guidelines clearly provides this information that only one popover element should be shown onscreen at a time.
There can be many more reasons behind Apple’s rejection of any iOS app. However, the list provides very obvious ones.
I hope that this post will help you in avoiding the app rejection from apple and saving your time and efforts in development. Happy iCoding and have a great Day.