2015-05-06 16 views
7

Attualmente sto lavorando a progetti che hanno molti obiettivi (10+). Questa è un'app di marca bianca, ogni obiettivo è dedicato a un cliente, tutti i target condividono lo stesso codice ma compilano risorse diverse (.xcsassets in particolare).Apple Watch, diversi obiettivi e obiettivi dell'app Watchkit Extension/Watckit condivisi

Mi piacerebbe integrare Apple Watch nel mio progetto, semplicemente per abilitare le notifiche sull'orologio. Richiede l'aggiunta di 2 target, Extension di Watchkit e App. (nota: il target dell'app WatchKit verrà collegato agli stessi .xcassets rispetto all'app iPhone associata per ereditare AppIcon).

Mentre è ok per un progetto con pochi obiettivi, nel mio caso questo non è davvero pratico. Un sacco di nuovi file creati, .plist attraverso le mie cartelle di subversion, e rendono l'elenco di obiettivi davvero enorme.

Sarebbe possibile condividere questi 2 ulteriori obiettivi a tutti i miei clienti? Forse è possibile utilizzare gli script per far corrispondere i target di App/Extension di WatchKit (aggiornamento del nome di destinazione, ID del bundle, ecc.) Automaticamente allo schema/target di iOs da costruire?

Qualsiasi idea sarebbe più che benvenuta.

+0

Duplica target per il kit di orologio 1 estensione e l'orologio kit 1 app con orologio os 2 obiettivi. Ora basta cambiare l'identificatore del fascio per tutti i nuovi obiettivi. Inoltre non cambierai aggiungere manualmente i nuovi bersagli all'app pertinente. Fammi sapere se non capisci, creerò un tutorial. –

+0

Hai funzionato?Sto provando la stessa cosa ma sembra esserci un bundleid persistente da qualche parte (non riesco a trovarlo anche con la ricerca) – tskulbru

+0

Ho una domanda simile. AFAIK, Xcode non mi dà nemmeno la possibilità di selezionare un'estensione da costruire – user210504

risposta

0

È possibile controllare il plist di destinazione dipendente dall'orologio utilizzando le configurazioni e le impostazioni definite dall'utente per controllare l'ID del gruppo. Supponiamo che tu abbia 10 obiettivi e devi creare l'app watch quindi definire l'ID bundle per ogni app principale nelle impostazioni utente sotto le impostazioni del progetto (non specifiche per target), che ti permettono di estendere quel nome al tuo target insieme a due target watch.

Per esempio per la destinazione A, definito fascio ID come BUNDLE_A_ID as com.company.a è possibile utilizzare $(BUNDLE_A_ID) come fascio id in bersaglio app, $(BUNDLE_A_ID).watchapp or $(BUNDLE_A_ID).watchappextension nei vostri obiettivi orologio in modo non è necessario definire fascio id in ogni target, la tua definizione di questi l'impostazione sarà legata a un posto (impostazione del progetto).

0

ATTENZIONE: creare una copia del progetto o creare una nuova filiale per provare questa soluzione.

Ho trovato come risolverlo. Presumo che tu abbia un'app per iOS funzionante e un'app di Apple Watch funzionante e devi aggiungere altre app di Apple Watch senza ripetere il codice.

Fase 1: File/Nuovo/Target Selezionare la scheda "watchos" e quindi selezionare "WatchKit App" Seleziona l'app di collegamento vuoi con questa nuova Apple Osservare app Fare clic su Avanti

Fase 2: Guarda le nuove cartelle create per il vostro nuovo Apple Osservare applicazione ed eliminare tutti i * .swift e * .storyboard

Fase 3: Selezionare il .storyboard e file .swift del vostro pugno Apple Osservare app che stava lavorando in origine e dovresti assegnare loro il nuovo e il vecchio abbonamento target. In futuro, tutti i tuoi file di app di controllo dovrebbero avere quei target selezionati.

enter image description here

Problemi correlati