Jak zarządzać budowy Lite vs płatnej wersji aplikacji iPhone?

głosy
62

Zaczynam aby dostać się do punktu, w którym warto rozważyć budowę lite wersję mojego iPhone app. Znalazłem kilka rzeczy w internecie, że mówimy o procesie nieco, a mianowicie:

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

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

Co jestem specjalnie zainteresowany jest uproszczenie procesu zarządzania, które pliki są zawarte w różnych wersjach mojej aplikacji jak ja nieustannie modyfikować i poprawić mój zapłacił za wersję.

Utwórz 14/02/2009 o 19:03
źródło użytkownik
W innych językach...                            


7 odpowiedzi

głosy
81

Odpowiedź jest oryginalny z czasów zanim w app zakupu. Prawidłowa odpowiedź jest teraz wysyła pojedynczy plik binarny i oferują płatną wersję pośrednictwem w rozbudowę aplikacji . Jest to nieco więcej kodu, ale jest to jedna przesyłka, a współczynnik konwersji będzie prawdopodobnie lepiej.

Jednakże, jeśli nadal chcesz wersjach aplikacji:

Xcode posiada dobre wsparcie dla wielu celów.

Z menu Project wybierz „nowy cel ...”. Dodaj kolejny iPhone wykonywalny (Cocoa Touch aplikacji) można następnie określić na podstawie zasobów Resouce przez które elementy są wliczone w cel. Może to obejmować tylko kompilowanie pewien kod do wersji płatnej.

Można uzyskać szybki inforamcji o tym, co jest i nie jest wliczone w bieżącym cel poprzez kliknięcie prawym przyciskiem myszy na „grup i plików” lista nagłówku (góra lewa oś) oraz umożliwienie docelowa członkostwa.

Przełączać się między budowania różne cele w taki sam sposób, jak przełączać między budynku na symulatorze lub iPhone.

Aby określić w czasie kompilacji, jak specyficzna klasa zachowuje można zrobić dwie rzeczy - to dwie wersje klasy których każdy zbudowany dla ich odpowiedniego docelowego lub można ustawić flagę czasu kompilacji dla pre-procesor. Wybierz cel w „grupach, a następnie Files” liście „get info” na ten cel. Przejdź do zakładki kompilacji i wyszukać „Preprocesuj”. Powinieneś zobaczyć element o nazwie „Preprocessor Makra” dodaj LITEdo celu lite i w ten sam sposób dodać PAIDdo swojego płatnego cel.

Thein w plikach źródłowych można określić w czasie kompilacji, która wersja kompilujesz za korzystanie #ifdef LITEetc.

Idąc jeszcze dalej, można ustawić flagę globalną lub zmienną składową AppDelegate oparciu o #ifdef LITE i zmienić zachowanie w czasie wykonywania dla Lite i płatnych aplikacji. Nie jestem pewien, widzę wartość w tym jednak.

Odpowiedział 14/02/2009 o 19:59
źródło użytkownik

głosy
24

Jako deweloper chcesz napisać jak najmniejsze kod (mniej błędów, mniej czasu). Jak budować wersje odbiegają trzeba będzie zainwestować więcej pracy i oddzielnych testów.

Chyba że robicie drogie narzędzie hakerów można rozważyć utrzymanie różnicy możliwie proste - wystarczy mieć jakieś ukryte preferencje lub ustawienia. W ten sposób większość kontroli i badań zrobi taką samą pracę zarówno buduje, bardzo mały kod będzie inna. Kluczowym problemem nie jest ciężarem siebie jako deweloper.

Powodem mają rozbieżne buduje jest zapewnienie, że wolny nie może być posiekany na „płatne” wersji. Ludzie, którzy próbują obejść takie proste ograniczenia są przede wszystkim sub zestaw tych, którzy chcieliby jailbreak swoich telefonów. Bez względu na to co robisz nie dostaniesz swoje pieniądze w każdych warunkach innych niż są one tak zachwycił kupią to tylko, aby pokazać uznanie.

Odpowiedział 14/02/2009 o 22:30
źródło użytkownik

głosy
7

Twórca „Flower Garden” szczegóły plusy / minusy różnych podejść do tworzenia wersji Lite tutaj:

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

Odpowiedział 18/02/2009 o 01:09
źródło użytkownik

głosy
3

Znalazłem sukces z:

Tutorial - sama Xcode projektu Tworzenie wielu produktów dla iPhone http://adeem.me/blog/2009/04/18/tutorial-same-xcode-project-create-multiple-products-for-iphone/

Obejmuje on wiele z tego, co Roger Nolan wspomniał w swojej odpowiedzi na pytanie, ale krok po kroku ze zrzutami ekranowymi.

To pozwala używać C # ifdef do włączenia lub wyłączenia funkcji w aplikacji.

Niektóre szczegóły nie były dokładnie prawo - z powodu różnic w Xcode jestem pewien - ale to nie było zbyt trudne, aby dowiedzieć się prawidłową / nowy sposób zrobić każdy krok.

UWAGA: Musisz iść do Apple i dostać nowy identyfikator aplikacji dla wersji Lite swojej aplikacji. Kroki opisane w samouczku utworzy kopię pliku Info.plist, która prawdopodobnie będzie zmienić nazwę na coś infoLite.plist - w tym pliku trzeba zmienić „Bundle identyfikator”, aby dopasować tę nową AppID ,

Odpowiedział 14/09/2009 o 05:35
źródło użytkownik

głosy
2

Z iPhone 3.0, które można wykorzystać w aplikacji zakupów i zamiast pozwolić, aby odblokować pełną funkcjonalność bez konieczności dokonywania więcej niż jedną aplikację. Myślę też, że będzie to uniknąć ludzi coraz to za darmo, ale nie jestem tak pewien.

Odpowiedział 13/11/2009 o 23:28
źródło użytkownik

głosy
1

Kiedyś oddział git. I rozgałęzione mój główny app i wykonał kilka poprawek wyłączyć pęczek treści. Teraz pracuję głównie w gałęzi głównej i przełączyć się na lite i scalić w najnowszym gdy występują poważne zmiany. Działa bardzo dobrze.

Odpowiedział 14/02/2009 o 20:38
źródło użytkownik

głosy
0

Lepszym rozwiązaniem jest mieć tylko jeden projekt, z wielu celów, a nie - po jednym dla każdej wersji aplikacji. Więc jakie są cele: wielu celów

Odpowiedział 03/06/2015 o 09:56
źródło użytkownik

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