2015-05-06 37 views
7

Obecnie pracuję nad projektami, które mają dużo (10+) celów. To jest biała markowa aplikacja, każdy cel jest dedykowany klientowi, wszystkie cele dzielą ten sam kod, ale kompilują różne zasoby (szczególnie .xcsassets).Apple Watch, kilka celów i wspólne cele aplikacji Watchkit Extension/Watckit

Chciałbym zintegrować Apple Watch z moim projektem, aby włączyć powiadomienia na zegarku. Wymaga to dodania 2 celów, rozszerzenia Watchkit i aplikacji. (nota: docelowa aplikacja WatchKit zostanie połączona z tymi samymi plikami .xcassets niż powiązana aplikacja iPhone, aby dziedziczyć AppIcon).

Chociaż jest to możliwe w przypadku projektu z zaledwie kilkoma celami, w moim przypadku nie jest to praktyczne. Wiele nowych plików zostało utworzonych, .plist w moich folderach subversion i uczyń listę celów naprawdę ogromną.

Czy będzie możliwe udostępnienie tych 2 dodatkowych celów wszystkim moim klientom? Może to jest możliwe, używając skryptów, aby dopasować cele WatchKit App/Extension (aktualizowanie nazwy celu, identyfikatora pakietu itp.) Automatycznie do docelowego schematu/iOs do zbudowania?

Każdy pomysł byłby mile widziany.

+0

Duplikat docelowa dla zestaw zegarek 1 przedłużacza i obejrzeć zestaw 1 aplikacja wraz z zegarka os 2 cele. Teraz wystarczy zmienić identyfikator pakietu dla wszystkich nowych celów. Poza tym nie zmienisz ręcznie dodania nowych celów do odpowiedniej aplikacji. Daj mi znać, jeśli nie rozumiesz, utworzę samouczek. –

+0

Czy to działa?Próbuję właśnie to samo, ale wydaje się, że gdzieś jest trwały pakunek (nie mogę znaleźć go nawet z wyszukiwaniem) – tskulbru

+0

Mam podobne pytanie. AFAIK, Xcode nawet nie daje mi możliwości wyboru rozszerzenia do kompilacji – user210504

Odpowiedz

0

Możesz sterować plistem docelowym zależnym od zegarka przy użyciu konfiguracji i ustawień zdefiniowanych przez użytkownika, aby kontrolować identyfikator pakunku. Załóżmy, że masz 10 celów i musisz stworzyć aplikację do obejrzenia, a następnie określić identyfikator pakietu dla każdej aplikacji głównej w ustawieniach użytkownika w ustawieniach projektu (nie jest to specyficzne dla celu), które pozwalają rozszerzyć tę nazwę do celu wraz z dwoma celami zegarka.

Na przykład dla docelowego A ty zdefiniowany identyfikator pakietu jako BUNDLE_A_ID as com.company.a można użyć $(BUNDLE_A_ID) jako identyfikatora pakietu do docelowej aplikacji, $(BUNDLE_A_ID).watchapp or $(BUNDLE_A_ID).watchappextension do swoich celów zegarka, dzięki czemu nie trzeba definiować identyfikatora pakietu w poszczególnych celów, swoją definicję tych ustawienie zostanie powiązane z jednym miejscem (ustawienie projektu).

0

UWAGA: Utwórz kopię projektu lub utwórz nowy oddział, aby wypróbować to rozwiązanie.

Znalazłem, jak to naprawić. Zakładam, że masz działającą aplikację na iOS i działająca aplikacja do oglądania Apple i musisz dodać więcej aplikacji do oglądania Apple bez powtarzania kodu.

Krok 1: File/New/docelowa Wybierz zakładkę "WatchOS", a następnie wybrać "WatchKit APP" Wybierz aplikację, którą chcesz związek z tym nowym Apple Obserwować app kliknij Dalej

Krok 2: patrzeć na nowe foldery utworzone na potrzeby nowego Apple Obserwować aplikacji i usunąć wszystkie * .swift i * .storyboard

Krok 3: Wybierz .storyboard i .swift plików pięści Apple Obserwować aplikacji, która została pierwotnie pracy i powinieneś przypisać im nowe i stare docelowe członkostwo. W przyszłości wszystkie pliki aplikacji do zegarków powinny mieć wybrane te cele.

enter image description here