2015-06-22 6 views
20

Sto scherzando con Xcode 7 per un po 'di tempo, so che supporta solo Swift 2 e non c'è modo di supportare Swift 1.0 o 1.2 in Xcode 7. Va bene.Xcode 7 orologio di supporto OS1 e OS2

Ora in WatchOS, posso avere due target uno per WatchOS1 e uno per WatchOS2 separatamente in Xcode 7 in modo che possa supportare entrambi?

che cercavo nella impostazione destinazione di distribuzione nelle impostazioni di generazione sia del bersaglio orologio e il bersaglio iOS ma ho potuto vedere solo WatchOS2 nella lista in modo

  1. Posso sostenere due bersagli uno per WatchOS1 & WatchOS2 rispettivamente in Xcode 7? Se è così dovrei installare WatchOS1 SDK in qualche posto ?? o questo totalmente non è possibile, se non perché?

  2. Se entrambi gli obiettivi possono essere supportati come posso impedire i duplicati source per entrambi gli obiettivi in ​​quanto entrambi hanno OS significative differenze in termini di architettura.

  3. anche dopo l'introduzione del quadro WatchConnectivity la controparte iOS avrà anche alcune modifiche, come sostengono che per i due obiettivi?

Sono confuso e ho bisogno di prendere una decisione in fretta, ogni aiuto è apprezzato.

+0

@Droppy Ma negli obiettivi iOS sono in grado di vedere la versione inferiore di iOS nell'elenco. Perchè così? – satheeshwaran

+0

@Droppy Sì. Anch'io penso lo stesso, ma cosa succede se ho bisogno di supportare entrambi, incrociamo le dita! – satheeshwaran

risposta

26

È possibile sostenere watchos 1 app in Xcode 7. Si può anche sostenere watchos 2 applicazioni in Xcode 7.

Se si desidera supportare sia watchos 1 e 2 watchos quindi si bisogno di avere obiettivi separati per ogni sistema operativo (a causa delle differenze di architettura)

per un watchos 1 app, aggiungere una nuova destinazione e selezionare l'Apple Osservare sezione da sinistra e poi cliccare sul WatchKit App per watchos 1 dalla lista .

watchOS 1 App

per un'applicazione watchos 2, aggiungere una nuova destinazione e selezionare il>sezione watchos Applicazione e quindi fare clic sull'opzione WatchKit App nella lista.

watchOS 2 App

paio di cose da notare di fare un watchos 1 app in Xcode 7 (beta 1) ...

Perché ho fatto il mio test su un iPhone con iOS 6 8.3 e il mio orologio in esecuzione watchOS 1.0.1, avevo bisogno di cambiare il mio obiettivo di distribuzione su iOS 8.3 ma nota che vuoi farlo a livello di progetto piuttosto che a livello di target (in modo che anche l'estensione venga impostata su 8.3 e non solo sull'app principale) altrimenti non ti permetterà di dispiegarti su un dispositivo reale.

A causa di un problema noto in Xcode 7 beta 1, un'applicazione watchos 1 non potrà essere installata su un vero e proprio orologio con il seguente errore se il telefono abbinato è a 64 bit:

Jun 20 17:25:08 Liams-iPhone companionappd[271] <Notice>: (Error) WatchKit: validateWatchKitApplicationInfoDictionary, invalid Info.plist key 'UIRequiredDeviceCapabilities' 

Questo perché Xcode 7 sta aggiungendo arm64 alla chiave UIRequiredDeviceCapabilities info.plist al momento della compilazione anche sull'estensione watchOS 1 quando non dovrebbe essere.

È possibile aggirare temporaneamente questa situazione impostando Solo architettura attiva su NO per la modalità DEBUG.

Xcode 7 Known Issue

Speranza che aiuta

+0

Grazie Liam per la risposta dettagliata, ma ho alcune domande per favore se la mia domanda aggiornata. – satheeshwaran

+0

Come testate esattamente l'app watchos1? Poiché non vedo un'opzione per scaricare il simulatore di watchos1 – Jatin

+0

Non sono sicuro dei simulatori, ma so che è possibile eseguirlo su un dispositivo fisico con watchOS 2.x – liamnichols

4

Si può avere sia un'applicazione watchos 2 per un iPhone iOS 9 e un'estensione watchKit per un dispositivo iOS 8.

Vorrei però dire che se non hai già creato un'app WatchKit (come in watchOS 1), è molto improduttivo creare un'app watchOS 2 e provare a creare e mantenere un'app watchOS 1 ... solo salta a bordo per guardareOS 2 per scopi di sanità mentale!

+0

No @Daniel Ho già un'app WatchKit 1 e voglio prendere posizione a causa delle date di rilascio. – satheeshwaran

+2

Quindi gli ingegneri dell'orologeria mi hanno incoraggiato a WWDC a non "migrare" la mia app watchOS 1 su 2, ma solo a creare un nuovo target per l'app watchOS 2 e farli coesistere. – Daniel

+0

Ok ha senso, ma qualche idea su come manipolare il codice per i due obiettivi? – satheeshwaran

Problemi correlati