Final Checks
Have you added a tool like Crashlytics to help you debug users issues like the app crashing? Better to do this now than when you apps reputation is being trashed through reviews for crash problems you can't replicate and need to resolve quickly…
Submitting
Select Project > Select Project > 'Info' Tab
Configurations > Add a "Distribution" configuration by duplicating the release configuration.
Select the 'Build Settings' tab
Code Signing > Code Signing Identity > Distribution > Any iOS SDK > Set the your 'Distribution' profile for this app (needs to be created in iTuns Connect Provisioning > Distribution)
Menu > Product > Edit Scheme > Archive > Build Configuration > Select Distribution and select the Reveal Archive In Organiser box
Archive the project (builds it ready for distribution)
Open the Organiser
In the Archived Applications list in the Organizer, select the application archive you want to submit, and click 'Verify'. If it passes you are then ready to submit using the 'Submit…' button.
Notes
"Prepare for upload" is not the same as "Ready for upload" – take it to the next step in iTune Connect.
The following app information must match the In iTunes Connect information:
Application Name
Bundle ID
Version