Ab und an kommt es vor dass man im gleichen Projekt ohne großes Duplizieren von Code zwei unterschiedliche Versionen einer App erstellen möchte. Beispiel hier: eine App mit dem vollen Funktionsumfang und eine “Lite” Version der App (mit eingeschränkter Funktionalität, dafür evtl. aber kostenlos.
Eine Möglichkeit dies zu realisiern ist z.B. mit Pre-Processor-Makros und einer einfachen Abfrage im Programmcode.
Hier die Vorgehensweise:
- Duplizieren des vorhandenen “Targets”, so dass man ein 2. Target namens “App copy” hat.
- In diesem neuen Target kann man komplett anderer Bundle Identifier etc. nutzen um die App unter einem anderen Namen im App-Store zu vertreiben
- Unter “Build Settings” des Targets einfach nach “other c” filtern und auf “Other C Flags” klicken:

- Hier einfach “-DKUNDE_VERSION” oder “-DLITE_VERSION” einfügen
- Das war’s auch schon
Im Programmcode an sich kann man ganz einfach zwischen beiden Versionen unterscheiden, in dem man z.B. folgenden Programmcode verwendet:
#ifdef KUNDE_VERSION // Code welcher in der LITE-Version ausgeführt werden soll #else // Code welcher in der "normalen" Version ausgeführt werden soll #endif