Ursprüngliche Antwort ist von den Tagen vor App-Kauf. Die richtige Antwort ist nun, eine einzelne Binärdatei zu versenden und Ihre kostenpflichtige Version unter in app upgrades anzubieten. Es ist etwas mehr Code, aber es ist eine einzige Lieferung und Ihre Conversion-Rate wird wahrscheinlich besser sein.
Wenn Sie jedoch noch Versionen Ihrer App wollen:
Xcode hat eine gute Unterstützung für mehrere Ziele.
Wählen Sie im Projektmenü "Neues Ziel ...". Fügen Sie eine weitere ausführbare iPhone-Datei hinzu (Cocoa Touch-Anwendung), die Sie dann auf Ressourcenbasis angeben können, welche Elemente in Ihrem Ziel enthalten sind. Dies kann nur das Zusammenstellen bestimmter Codes in Ihrer kostenpflichtigen Version beinhalten.
Sie können ein schnelles visuelles Feedback darüber erhalten, was im aktuellen Ziel enthalten ist und was nicht, indem Sie mit der rechten Maustaste auf den Listenkopf "Gruppen und Dateien" (obere Links) klicken und die Zielmitgliedschaft aktivieren.
Sie wechseln zwischen dem Erstellen verschiedener Ziele auf die gleiche Weise wie Sie zwischen dem Erstellen für Simulator oder iPhone wechseln.
Um anzugeben, wie sich eine bestimmte Klasse zur Erstellungszeit verhält, können Sie zwei Dinge tun - zwei Versionen der Klasse einbeziehen, die jeweils für ihr jeweiliges Ziel erstellt werden, oder Sie können ein Erstellungszeit-Flag für den Vorprozessor setzen. Wählen Sie das Ziel in der Liste "Gruppen und Dateien" und dann "Informationen abrufen" für dieses Ziel. Gehe zum Build-Tab und suche nach "preprocess". Sie sollten ein n Element namens "Preprocessor Macros" sehen, fügen Sie LITE
zu Ihrem Lite-Ziel hinzu und fügen Sie auf die gleiche Weise PAID
Ihrem bezahlten Ziel hinzu.
Thein in den Quelldateien, die Sie bei der Kompilierung bestimmen können, welche Version Sie kompilieren mit #ifdef LITE
usw.
Geht man noch weiter, könnten Sie ein globales Flag oder AppDelegate Membervariable gesetzt basierend auf #ifdef LITE und Veränderung Verhalten zur Laufzeit für die Lite- und kostenpflichtigen Apps. Ich bin mir nicht sicher, ob ich darin einen Wert sehe.
Stimmen Sie auf, weil es eine gute technische Antwort ist, auch wenn es mit meiner philosophischen konkurriert. – Paxic
Danke für deine Antwort Roger .... Wie funktioniert das "Produkt" -Konzept mit den verschiedenen Zielen? Oder ist es etwas ganz anderes zusammen? –
producst sind nur ausführbare Dateien, die Xcode für Sie erstellt. Ich schlage vor, ein Produkt für Ihre kostenpflichtige App und ein anderes für Ihre Lite-App einzurichten. Sie würden jeweils ein anderes.app-Paket erstellen, das in den App Store hochgeladen werden soll. –