Ursprüngliche Antwort ist von den Tagen vor in App - Kauf. Die richtige Antwort ist jetzt nur ein binäres zu versenden und Ihre bezahlten Version durch bieten in App - Upgrades . Es ist etwas mehr Code , aber es ist eine einzige Sendung und Ihre Conversion - Rate wird wahrscheinlich besser sein.
Wenn Sie jedoch nach wie vor wollen Versionen Ihrer App:
Xcode hat eine gute Unterstützung für mehrere Ziele.
Aus dem Projekt-Menü „Neues Ziel ...“ auswählen. Fügen Sie eine weitere iPhone ausführbare Datei (Cocoa Touch Application) Sie dann auf einem resouce von Ressourcenbasis angeben können, welche Elemente in Ihrem Ziel enthalten sind. Dies kann jedoch nur bestimmten Code in Ihre bezahlten Version kompilieren.
Sie können schnelles visuelles Feedback zu bekommen, was ist und nicht in dem aktuellen Ziel mit einem rechten Mausklick auf den „Gruppen und Dateien“ Listenkopf (oben linke Skala) und ermöglicht Ziel Mitgliedschaft enthalten.
Sie wechseln zwischen verschiedenen Zielen in der gleichen Art und Weise bauen, wie Sie zwischen Gebäude für Simulator oder iPhone wechseln.
Zum Zeitpunkt der Erstellung angeben , wie eine bestimmte Klasse verhält man zwei Dinge tun kann - sind zwei Versionen der Klasse , die jeweils aufgebaut ist für ihr jeweiliges Ziel oder können Sie einen Build - Zeit - Flag für den Pre-Prozessor gesetzt. Wählen Sie das Ziel in der „Gruppen und Dateien“ Liste dann „Informationen erhalten“ auf diesem Ziel. Gehen Sie auf die Registerkarte Erstellen und die Suche nach „Vorprozess“. Sie sollten ein Element namens „Preprocessor Makros“ hinzufügen , LITEum Ihre lite Ziel und auf die gleiche Weise hinzufügen , PAIDum Ihre bezahlten Ziel.
Thein in Ihren Quelldateien können Sie bei der Kompilierung festzustellen , welche Version Sie sich für kompilieren #ifdef LITEusw.
Geht man noch weiter, könnte man ein globales Flag oder AppDelegate Membervariable gesetzt basierend auf #ifdef LITE und Verhalten für die Lite und kostenpflichtige Apps zur Laufzeit ändern. Ich bin mir nicht sicher, ob ich Wert in dieser obwohl sehen.