Similar to the Unity to Windows 8 Phone storechecklist but with iOS:
1) First make an app ID for your app in https://developer.apple.com/membercenter/
2) Make sure the provisional profile has that ID selected.
3) In Unity/Build Settings/iOS Player Settings make sure the Bundle ID matches with the app ID you just made. If using a wildcard, you can end it with whatever. For the icons, put a 180×180 image as default and it will automatically popular the smaller sizes.
4) In Player Settings for iOS under ‘Configuration’ for ‘Scripting Backend’ select ‘IL2CPP’ and for ‘Architecture’ select ‘Universal’. To test on the simulator in Xcode, under ‘Optimization/SDK Version’ select ‘Simulator SDK’. Change the SDK Version to ‘Device SDK’ if submitting to the store.
5) Export the iOS project from Unity into a folder. Also add more icons of other sizes in Unity-iPhone/images.xcassets/AppIcon.appiconset.
6) Open the .xcodeproj file in Xcode.
7) If you are updating the app, under ‘general’ make sure the build number is increased by 0.0.1
Under Build Settings/Code Signing select all your profiles
8) Go to Product/Archive and after validating, click the ‘Distribute’ button
9a) To test on a device click ‘save for Enterprise or Ad Hoc Deployment to generate an .ipa file. Upload it to http://www.diawi.com/ and download to your device.
9b) To upload to the App Store click on ‘Submit to the iOS App Store’
10) Go to https://itunesconnect.apple.com/ to add a new app. Make sure the bundle ID is correct as you can’t change it afterwards.
Info about iOS screenshot sizes