Wie schaffe ich den Aufbau einer Lite vs Paid-Version von iPhone-App?

stimmen
62

Ich fange an den Punkt zu gelangen, wo ich den Aufbau einer Lite-Version von meinem iPhone app zu betrachten. Ich habe ein paar Sachen auf dem Netz gefunden, die ein bisschen, und zwar über den Prozess sprechen:

http://developer.apple.com/tools/XCode/XCodeprojects.html

http://www.pacificspirit.com/blog/2009/01/27/building_for_multiple_iphone_targets_in_xcode

Was ich bin speziell interessiert, ist der Prozess der Verwaltung zu vereinfachen, welche Dateien in den verschiedenen Versionen meiner App enthalten sind, wie ich ständig ändern und meine für Version bezahlt zu verbessern.

Veröffentlicht am 14/02/2009 um 19:03
quelle vom benutzer
In anderen Sprachen...                            


7 antworten

stimmen
81

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.

Beantwortet am 14/02/2009 um 19:59
quelle vom benutzer

stimmen
24

Als Entwickler möchten Sie am wenigsten Code möglich (weniger Fehler, weniger Zeit) schreiben. Da die Build-Versionen abweichen werden Sie mehr Arbeit und separate Tests investieren.

Sofern Sie ein teures Hacker-Tool machen Sie sich anschauen sollen den Unterschied so einfach wie möglich zu halten - hat nur einige versteckten Einstellungen oder Einstellungen. Auf diese Weise die Mehrheit der Kontrollen und Prüfungen wird die gleiche Arbeit tun in beide baut, sehr wenig Code wird anders sein. Die Hauptsorge ist nicht zu belasten, sich als Entwickler.

Der Grund divergent zu haben, baut ist, um sicherzustellen, dass die freie kann nicht in eine „Paid“ -Version gehackt werden. Die Leute, die versuchen würden, und umgehen solch eine einfache Einschränkung sind in erster Linie ein Unter derer gesetzt, die ihre Telefone Jailbreak würde. Egal, was Sie tun, werden Sie ihr Geld nicht unter jeder Bedingung erhalten außer sie sind so begeistert sie kaufen es nur Anerkennung zu zeigen.

Beantwortet am 14/02/2009 um 22:30
quelle vom benutzer

stimmen
7

Der Schöpfer von „Flower Garden“ beschreibt die Vor / Nachteile der verschiedenen Ansätze zur Schaffung einer Lite-Version hier:

http://gamesfromwithin.com/from-full-to-lite-in-under-an-hour

Beantwortet am 18/02/2009 um 01:09
quelle vom benutzer

stimmen
3

Ich fand Erfolg mit:

Tutorial - Same Xcode Projekt Erstellen mehrerer Produkte für iPhone http://adeem.me/blog/2009/04/18/tutorial-same-xcode-project-create-multiple-products-for-iphone/

Es deckt viel von dem, was Roger Nolan in seiner Antwort auf die Frage erwähnt, aber Schritt-für-Schritt mit Screenshots.

Es ermöglicht Ihnen, C # ifdef die ein- oder ausschließen Funktionalität in Ihrer Anwendung zu verwenden.

Einige Details waren nicht ganz richtig - wegen der Unterschiede in Xcode Ich bin sicher - aber es war nicht allzu schwierig, die richtige / neue Art und Weise, um herauszufinden, jeden Schritt zu tun.

HINWEIS: Sie werden an Apple gehen und eine neue App-ID für die Lite-Version der App bekommen. Die Schritte im Tutorial skizziert wird eine Kopie der info.plist Datei erstellen, die Sie wahrscheinlich so etwas wie infoLite.plist umbenannt werden - in dieser Datei benötigen Sie den „Bundle Identifier“ ändern, um diese neue appID anzupassen .

Beantwortet am 14/09/2009 um 05:35
quelle vom benutzer

stimmen
2

Mit dem iPhone 3.0 können Sie in-App-Käufe verwenden statt und ermöglichen, dass die volle Funktionalität zu entriegeln, ohne dass mehr als eine App zu machen. Ich denke auch, dass diese Menschen kostenlos bekommen dies zu vermeiden, aber ich bin nicht so sicher.

Beantwortet am 13/11/2009 um 23:28
quelle vom benutzer

stimmen
1

Ich habe ein Git-Zweig. Ich verzweigtem mein Haupt App und machte ein paar Tweaks eine Reihe von Inhalten zu sperren. Jetzt arbeite ich in erster Linie in dem Master-Zweig und wechsle in spätestens lite und zusammenführen, wenn wichtige Entwicklungen auftreten. Funktioniert sehr gut.

Beantwortet am 14/02/2009 um 20:38
quelle vom benutzer

stimmen
0

Der bessere Ansatz ist nur ein einziges Projekt, mit mehreren Zielen , statt zu haben - ein für jede Version Ihrer App. Also , was sind Ziele: Mehrere Ziele

Beantwortet am 03/06/2015 um 09:56
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more