2011-08-18 17 views
7

Mamy sponsorowaną przez AdWhirl wersję aplikacji (Moonrise) i chcemy zaoferować wersję bez reklam .9,99 USD.Twórz dwie wersje - lite i pro - tej samej aplikacji.

Ze względów konserwacyjnych chciałbym mieć jedną aplikację, w której zmieniam tylko kilka #defines, aby włączać i wyłączać reklamy.

Ale jak mogę skompilować dwa różne "pakiety aplikacji", że tak powiem, które mają różne nazwy i identyfikatory pakietów?

Domyślam się, że po prostu pytam o heads-up, zanim spróbuję, a jeśli jest gotcha, powinienem myśleć. Ponadto, jeśli jest jeszcze łatwiejszy sposób robienia tego, chciałbym wiedzieć (ponieważ powinno to być powszechne wśród twórców).

Plan jest

  1. Utwórz identyfikator pakietu, należy zmienić go w -info.plist
  2. Utwórz nową aplikację z nową nazwą, zmiana wiązki Display Name i ikony
  3. Zrób # zdefiniowanie lub takie, aby nie wyświetlać reklamy
  4. Dodaj do App Store

czy mogę pominięte coś?

+0

możliwy duplikat [Jak zarządzać budowaniem wersji Lite vs Płatna aplikacji na telefon iPhone?] (Http://stackoverflow.com/questions/549462/how-do-i-manage-building-a-lite- vs-paid-wersja-an-iphone-app) –

Odpowiedz

9
  1. Utwórz nowy identyfikator pakietu
  2. utworzyć jeden więcej .plist pliku dla swojej aplikacji (można powielić istniejący jeden)
  3. Zmień nazwę aplikacji, pakiet identyfikator i tak dalej w nowym .plist pliku
  4. Dodaj inny cel (może powielać istniejących)
  5. Znajdź w ustawieniach systemu docelowego „Info.plist” entrie i zmienić go na nowy jednej
  6. Dodać trochę zdefiniowany przez użytkownika flagi w wyznaczaniu celów s oznaczyć co jeden z nich jest LITE, a inny nie jest lite
  7. schematów skonfigurować dla różnych celów

Jeśli zrobisz wszystko dobrze, będzie można korzystać z jednego projektu do budowania różnych wersji tego.

+0

Dzięki. Ale było tak, jak się obawiałem, przez delikatne dotykanie tych rzeczy, łamie kompilator. Nie ma nic wspólnego z "robieniem wszystkiego dobrze", niestety. Po powieleniu celu otrzymałem dwa identycznie nazwane produkty .app - czy powinienem się martwić? Po ustawieniu obu celów poprawnie wskazujących na kopie zmian .plist, mogę uruchomić je tylko na urządzeniu. W trybie symulacyjnym, nagle narzeka na katalog zawierający spację, w ścieżce do folderu projektu. Czy możesz wyjaśnić, co masz na myśli przez 7.? –

+1

Zobacz tutaj: http://stackoverflow.com/questions/8456420/how-to-build-a-free-version-from-a-paid-version- bez -duplikacji- -kod kodu- 4 – dontWatchMyProfile

+0

Kilka wersji XCode później działa tak samo, jak opisałeś. Wolę tylko duplikowanie celu i przeciąganie plików oraz zaznaczenie pola wyboru kopiowania przez powielenie plików w XCode, ponieważ nawigator projektu i folderów jest nadal błędny. Teraz mamy ładniejszego inspektora plików, który można aktywować i zobaczyć dokładnie, do których celów należy dany plik. Schematy zwykle nie muszą być zmieniane, a kopie źródłowe można ograniczyć do minimum za pomocą instrukcji #if. –

Powiązane problemy