watchos reloj apple ios xcode7 watch-os-2 watch-os

ios - apple - Xcode 7 soporta reloj OS1 y OS2



watch ios (2)

He estado jugando con Xcode 7 desde hace algún tiempo, me doy cuenta de que solo es compatible con Swift 2 y no hay manera de admitir Swift 1.0 o 1.2 en Xcode 7. Esto está bien.

Ahora que viene a WatchOS, ¿puedo tener dos objetivos, uno para WatchOS1 y otro para WatchOS2 por separado en Xcode 7, de modo que pueda admitir ambos?

Estaba buscando en la configuración de destino de la implementación en la configuración de compilación tanto del objetivo de vigilancia como de la aplicación de iOS, pero solo podía ver WatchOS2 en la lista, así que

  1. ¿Puedo admitir dos destinos uno para WatchOS1 y WatchOS2 respectivamente en Xcode 7? Si es así, ¿debo instalar WatchOS1 SDK en algún lugar? O esto no es totalmente posible, si no ¿por qué ?.

  2. Si se pueden admitir ambos objetivos, ¿cómo puedo evitar los duplicados de origen para ambos destinos, ya que ambos sistemas operativos tienen diferencias significativas en términos de arquitectura?

  3. Además, desde la introducción del marco WatchConnectivity, la aplicación de contraparte de iOS también tendrá algunos cambios, ¿cómo mantener eso para los dos objetivos?

Estoy confundido y necesito tomar una decisión rápidamente, cualquier ayuda es apreciada.


Puede admitir aplicaciones watchOS 1 en Xcode 7. También puede admitir aplicaciones watchOS 2 en Xcode 7.

Si desea admitir tanto watchOS 1 como watchOS 2, deberá tener objetivos separados para cada sistema operativo (debido a las diferencias en la arquitectura)

Para una aplicación watchOS 1, agregue un nuevo objetivo y seleccione la sección Apple Watch de la izquierda y luego haga clic en la aplicación WatchKit para watchOS 1 de la lista.

Para una aplicación watchOS 2, agregue un nuevo objetivo y seleccione la sección watchOS > Aplicación y luego haga clic en la opción WatchKit App en la lista.

Algunas cosas a tener en cuenta sobre la creación de una aplicación watchOS 1 en Xcode 7 (beta 1) ...

Como hice mis pruebas en un iPhone 6 con iOS 8.3 y mi reloj con watchOS 1.0.1, tuve que cambiar mi objetivo de implementación a iOS 8.3, pero tenga en cuenta que desea hacer esto a nivel de proyecto en lugar de solo a nivel de destino (por lo tanto, que la extensión también se establece en 8.3 y no solo en la aplicación principal) de lo contrario, no le permitirá implementarlo en un dispositivo real.

Debido a un problema conocido en Xcode 7 beta 1, una aplicación watchOS 1 no podrá instalarse en un reloj real con el siguiente error si su teléfono vinculado es de 64 bits:

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

Esto se debe a que Xcode 7 está agregando arm64 a la clave UIRequiredDeviceCapabilities UIRequiredDeviceCapabilities en el momento de la compilación, incluso en la extensión de watchOS 1 cuando no debería.

Puede solucionar esto temporalmente configurando Build Active Architecture Only en NO para el modo DEBUG.

Espero que ayude


Puede tener una aplicación watchOS 2 para un iPhone con iOS 9 y una extensión watchKit para un dispositivo con iOS 8.

Sin embargo, diría que si aún no ha creado una aplicación WatchKit (como en watchOS 1), es altamente improductivo crear una aplicación watchOS 2 e intentar crear y mantener una aplicación watchOS 1 ... solo suba a bordo para WatchOS 2 para propósitos de cordura!