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

I have an existing iOS application that I need to be able to build and release multiple versions of for different clients.

This application interfaces with hardware that is available from a handful of different companies, the hardware is identical but each company sells the hardware under a different name

This is a free app, the goal is not to spam the appstore with multiple versions of the same app, the goal is to allow companies that sell rebranded hardware to have a mobile app that uses the brand name that they use for the hardware.

What I need to be able to do:

- Build multiple versions of the same application that can be submitted to the Appstore, each version would be submitted under a different companies apple account.  I would assume that means multiple projects so that each project can use a company specific provisioning profile
- Each version has some different images (Icon, startup image, maybe a few others)
- Each version has some different strings (Company name, Product Name, maybe a few others)

With Android I just create a library project and I can override strings and images with a trivial amount of effort.

With iOS I haven't found an obvious answer.

I looked into adding a new target to my existing project but I don't think that will work:
- I can't figure out how to replace images beyond the icon and starting screen
- I can't figure out how to replace strings
- Would I be able to use different provisioning profiles for the different apps that compile with the same project?  I know the target settings allow different provisioning profiles, but doesn't the project settings have its own set of provisioning profiles?

Can I package the current application into a library that other projects can use and replace images/strings?  So each version would have its own xCode project but use the same code.

Maybe I need to work more with the idea of multiple targets...

I am using xCode 4.2, but I am prepared to move to a newer version if necessary
