How do I build multiple versions of the same iOS application for OEMs

Create multiple targets that use different Info.plist files. The biggest difference will be different bundle identifiers. You can also define different preprocessor macros that will control the conditional compilation of various chunks of code.

Alternatively/additionally, you can put your build configuration settings (including the changing location of the Info.plist file) into *.xcconfig files and reference those in your project, info, configurations area. Then, you can build a different version of your app by simply by changing your scheme. Putting build configration settings into files is a huge win for configuration control too.

Here's a link to setting up *.xcconfig files: http://itcoding.blogspot.com/2011/03/using-xcconfig-abandoning-build-panel.html. I've seen other articles like this as well -- but this one will get you started.

Good luck.


I did this differently at my last company, where we generated around 8 apps from one primary source repository.

We created one project that required one external class, call it Config. That class vended the unique info that makes each app unique.

Then to spin one app you create your App project, include the common "library", provide the Config.m file (Config.h is common), add the unique images etc.

Tags:

Ios

Xcode