Question

I have a number of apps (about 16 at the moment and growing) which have pretty much identical code. That is the code that drives them is the same.

There are a few things that change between apps, they are:

  • A PDF file (inside the bundle)
  • The icon
  • The name
  • 4 Storyboard screens

As you can imagine it would be a nightmare to maintain 16 independent projects, my main concerns is that Features/Bug fixes in the main code will have to be applied 16+ times. The other thing is actually building and pushing 16 different binaries to the app store.

At the present time (Jan 2014) I want to know if there is a way to do this easily so that I only have to make a code change in one place and the 16+ other projects are updated and pushed to the store.

I have thought about git, or just having 16 projects and writing a bash script to do it for me but that seems dodgy. What is the most elegant solution to this problem that will reduce my overhead?

p.s. I don't want one app with 16 different icons/pdf due to size reasons

p.s.s. Please don't make as a duplicated, I want to know what solutions are there today, not a link to a slashdot question from 2010 :P

Was it helpful?

Solution

You could create a project for each app (so you won't have to change the project settings, e.g. name, icons, bundle identifier, ...) where you add the different PDF files and setup the storyboard screens.

Then you would create the classes in one project and drag & drop the files to the other project but uncheck the Copy items into destination group's folder option. That way you can change the code in any of the projects and it will be updated in all of them. You still have to build and submit each project on its own.

OTHER TIPS

You can create one Xcode project file, with multiple targets. Each target in the project can have its own plist, icon, PDF and etc. Everything else will be shared and in one place.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top