Sunday, March 11, 2018
ERROR ITMS-90029 while uploading using Xcode 9
ERROR ITMS-90029: "Storyboard file 'Main~iphone.storyboardc' was not found. Please ensure that the specified file is included in the bundle with any required device modifiers appended to the filename".
What happened..? My app supports iPad only and how come it prompted an error on missing iPhone storyboard..?
I guess, there is some problem caused by upgrading the project. Why "Main~iphone.storyboardc"? I opened the .plist file and found this:
Main storyboard file base name: "Main" <=== this value shown in the error message.
Main storyboard file base name: "StoryboardV2" <== this is correct value.
Anyway, the problem can be rectify by
1. Opening the Target > your app. Look for "Devices" in the Deployment Info section. For my case, my value is "iPad".
2. Changing the "iPad" value to "Universal".
3. Set the Main Interface to any value.
4. Click on any source code file to force the new values to be saved to .plist.
5. Open the Devices in the Deployment Info section again.
6. Change the values back to "iPad" and the correct Main Interface value.
7. Archive and upload my app to App Store and the error has gone.
Tuesday, April 29, 2014
Creating multiple apps from one project
If you are planning to publishing multiple apps from one project (for example, light version and premium version), this will be the article that can help you out.
1. Click Manage Scheme.
2. Untick the "autocreate schemes" option. By unchecking this option, you can assign a proper scheme name.
3. Click on the project Targets. Two finger click on the "taget item" that you want to duplicate.
4. A new plist file will be added to the project. Rename the plist file to whatever you want. In our case, we use "premium version". Do the same for the "Bundle display name" and also "Bundle identifier".
Note: you need two app ID. One for the light version and another for premium version.
5. Goto the project targets again. Rename the target to "premium". In Build Settings, search for "Product name" and update it as well.
6. Search "plist" in Build Settings and change it to the appropriate plist file name.
7. Click on the "scheme" and choose New Scheme.
8. Choose the "premium" from the target and then key in "premium" as the scheme name.
9. The final step will be setup the preprocessor macros. You need to edit both Debug and the Release.
- For premium version, add "IS_PREMIUM_VERSION".
- For light version, add "IS_LIGHT_VERSION".
10. In the coding, you have to do this:
#ifdef IS_PREMIUM_VERSION
lbl.text = @"this is premium Verison";
#else
lbl.text = @"this is Light version";
#endif
Monday, September 2, 2013
Submitting your app to iTunes Connect
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/10_ManagingYourApplications/ManagingYourApplications.html