0

I am distributing my Mac + Windows screensaver ( http://starmessagesoftware.com/moonscreensaver/ ) outside the apple store and I want to also distribute from the apple store. The screen saver is writen mainly in C++.

Outside the apple store I have three editions 1) free 10 days trial 2) free, special edition 3) commercial (paid) edition

In the app store I will have two editions 4) free 5) paid

The differences between the editions are different code-signing settings, different appIDs, appNames and bundleIDs (for (4) and (5)) and some different #defines.

I am thinking of having only one xcode project, with 5 targets and maybe 5 schemes, one to each target.

In xcode7 there is also a "products" group in the left navigation. I assume this is the same term as "targets" that Apple forgot to rename and keep it consistent accross the UI. So I am not bringing-in "products" as another dimension for this solution.

Please let me know what would be the optimal way to organise this xcode project.

My goal is to be able to produce all editions together, easily and with minimum manual changes (e.g. avoid changing a #define to produce the next edition).

Many thanks

Mike
  • 436
  • 5
  • 9
  • http://blog.jaredsinclair.com/post/116436789850/follow-these-guidelines-and-never-struggle-with Build configs and shared schemes: Make life easier on yourself and check the “Shared” box in the “Manage Schemes” window next to at least two schemes. Have one for development and one for App Store releases at the very least. Consider adding a third for beta builds if necessary. Select the appropriate build config in the editing window for each scheme. If you use the default build configs provided by Xcode that’ll be Debug for your development scheme and Release for your release scheme. – Mike Jun 07 '16 at 05:56
  • and also, should I keep only one info.plist for all the targets, using dynamic values like ${EXECUTABLE} – Mike Jun 07 '16 at 10:29

0 Answers0