2011-12-29 5 views
5

Mam działającą aplikację na iPhone'a - w zasadzie po prostu wyświetla wiadomości z kanału, ale teraz chcemy mieć drugą aplikację, która jest klonem pierwszej, ale brandowanej w inny sposób i wyświetlającej nowości z innego źródła danych - kanał informacyjny xml i grafika/kolory będą jedyną różnicą.Aplikacja na iOS z wieloma brandingami

Staram się nie powielać żadnego wysiłku. Z łatwością mogę zdefiniować i zbudować aplikację przy użyciu różnych kolorów i obrazów oraz adresu URL pliku xml z jedną bazą kodową. Ale jaki jest najlepszy sposób, aby to zrobić, abym mógł zmienić jakiś wspólny kod i łatwo przebudować obie aplikacje i zaktualizować je w sklepie z aplikacjami bez utrzymywania oddzielnych projektów xcode, oddzielnych plików itp.?

Odpowiedz

11

Możesz to łatwo zrobić, dodając nowy cel do swojego projektu.

Twórz unikalne markowe zasoby i pliki konfiguracyjne o identycznych nazwach, ale przechowuj je w różnych folderach. Kiedy będziesz gotowy, dodaj każdy folder do projektu i ustaw "Docelowe członkostwo" na odpowiedni cel. Jeśli popełnisz błąd, możesz go zmienić w okienku Inspektora plików.

Gdy zbudujesz określony cel ze współużytkowanej bazy kodów, tylko te zasoby zostaną dołączone do aplikacji. Dopóki nazwy plików są identyczne, powinno działać.

+0

możesz podać rozwiązania, gdy dyskusja dotyczy klas zawierających adresy URL na serwerze. Jak najlepiej w tej sytuacji zrobić jedną klasę (z wszystkimi jej logikami) możliwą do zrealizowania dla wszystkich marek? – Shamsiddin

1

Możesz użyć jednego projektu z więcej niż jednym celem. Dla każdego celu możesz dodać różne zasoby (Info.plist, ikonę itp.).
Kanał XML można zdefiniować w pliku settings.bundle (który również może być zależny od celu).
Układ, który można odczytać ze słownika, który również powinien być zależny od celu.

+0

Ah - Jestem nowy w tym i nie rozumiem celu celów. Dziękuję Ci! – powlette