4/14/2013

XCode 4 iOS Application Test and Submission

In order to remember every step that I have done to submit application, I wrote them down:

1)When creating your project give meaningful Bundle Identifier(com.company.product), you can change the name after creating project in XCode 4.
NOTE:Bundle Display Name and Bundle Identifier are not same. Display Name is shown below your application icon in home screen.

2)After you finish your development make sure you included required png files for splash screen and application icon for normal display(retina is optional)
The files should be under Resources folder
Required or recommended files:
Icon.png (57x57)
Icon@2x.png(retina)
Icon-Small.png(spotlight search) (58x58)
Icon-Small@2x.png(retina-spotlight search)

3)Add following property to your Info.plist:
Icon File-Icon.png
NOTE:You can also add Icon Files and under Icon Files 
[0] Icon.png
[1] Icon@2x.png

4)Click your project main file and click target. In Summary tab check versions,pictures etc. 

5)Open Organizer via Window>Organizer

6)Click devices and find Editor from menu items. Select Refresh from developer portal. If you didnt create a provisioning profile, it will ask you to create one step by step. You can either follow this guide or create your own profile:
6.A)Go to developer.apple.com and click member center. 
6.B)Create a certificate for your applications
6.C)Create App ID. This step is so important. If you plan to(maybe you can use later) use push notification, game center,in-app purchase you should write your bundle identifier that you give in first step. You cannot change this ID after you submit the application.
6.D)For development purpose create a device.Device ID can be found using ITunes.
6.E)Create a profile for development if you want to test it on device(which is so recommended before adding to store) or distribution to submit it to store
6.F)Download profile and double click downloaded file. It will be automatically added to your system

7)If you want to test your application on device, after adding profile to your system, you should be able to see your device name in scheme drop box(near run and stop button. you should click and wait for 1 second to see list of schemes) I assumed that you pluged-in your device.

8)If you want to distribute your application, then you need to create a archieve. To do this, you need to select your device in scheme dropbox as explained in step 7. Then find Product in menu items and select Achieve
NOTE: Achieve option is disabled if you select simulation scheme

9)At this step,you need to create an application handler with ItunesConnect:
https://itunesconnect.apple.com
You will need one 512x512 application picture and one screenshot taken from your iPhone.
After adding the application, the status should be ready for upload.

10)Open Organizer and find Archive and click validate. Choose application handler that you create in Step 9 along with your Distribution profile. Validate the binaries.Then click Distribute. The application status will be Waiting for Review.
NOTE:If you dont want to provide screenshot from iPhone 5, you should delete default picture that you provide for iPhone 5(Default-568h.png) or your distribution process will fail.
NOTE:If you have no application handler which has Ready for Upload status, you cannot use Validate or Distribute. If your package is not accepted in some reason by Apple and its status is not Ready for Upload, you need to open your application handler and click reject. This is called Rejected by Developer.

GENERAL NOTES:
You should choose a unique application name before starting development. Otherwise you may need to change a lot of UI things to change the name.
You should decide to use push notifications like features at the beginning.If you never use these features use * wildcard when creating your App ID
Use default features as much as possible. For instance avoid adding a tableView into ScrollView. Instead use tableView Header section. 
Check memory leaks with analyse tool regularly. If possible, use new Apple Garbage Collector system. For old application there is a migration tool. 
If you consume data from internet, check internet connectivity using Reachability
Be aware that, you may wait a week or two weeks to get an approval or rejection for your submitted application. 

SOME REJECT REASONS FROM APPLE:
Your button size should not be small. People can be able to click easily. Default size is Nx49. Same arguments may apply for other components as well
If you stream videos, you should consider Edge,3G,WiFi users and stream with 3 different size. There are a lot of articles about this topic
Provide valid username,password if login is required for Apple testers







No comments:

Post a Comment