Подтвердить что ты не робот

Xcode 7 поддерживает часы OS1 и OS2

Я когда-нибудь играл с Xcode 7, я узнал, что он поддерживает только Swift 2, и нет возможности поддерживать Swift 1.0 или 1.2 в Xcode 7. Это нормально.

Теперь, придя в WatchOS, могу ли я иметь две цели для WatchOS1 и одну для WatchOS2 отдельно в Xcode 7, чтобы я мог поддерживать оба.

Я искал целевой параметр развертывания в настройках сборки как целевой роли, так и целевой задачи iOS, но я мог видеть только WatchOS2 в списке, поэтому

  • Могу ли я поддерживать две цели для WatchOS1 и WatchOS2 соответственно в Xcode 7? Если это так, я должен установить WatchOS1 SDK в каком-то месте? или это совершенно невозможно, если не почему?

  • Если обе цели могут поддерживаться, как я могу предотвратить дублирование источников для обеих целей, поскольку обе ОС имеют значительную различия в архитектуре.

  • Также, начиная с внедрения WatchConnectivity, приложение-партнер iOS также будет иметь некоторые изменения, как поддерживать это для двух целей?

Я смущен, и мне нужно принять решение быстро, любая помощь приветствуется.

4b9b3361

Ответ 1

Вы можете поддерживать приложения watchOS 1 в Xcode 7. Вы также можете поддерживать приложения watchOS 2 в Xcode 7.

Если вы хотите поддерживать как watchOS 1, так и watchOS 2, вам понадобятся отдельные цели для каждой ОС (из-за различий в архитектуре).

В приложении watchOS 1 добавьте новую цель и выберите раздел Apple Watch слева, а затем нажмите на WatchKit App для watchOS 1 из списка.

watchOS 1 App

Для приложения watchOS 2 добавьте новую цель и выберите раздел watchOS > Приложение, а затем нажмите кнопку WatchKit App в список.

watchOS 2 App

Несколько замечаний о создании приложения watchOS 1 в Xcode 7 (beta 1)...

Поскольку я провел тестирование на iPhone 6 под управлением iOS 8.3 и моих часах, работающих с watchOS 1.0.1, мне нужно было изменить цель развертывания на iOS 8.3, но обратите внимание, что вы хотите сделать это на уровне проекта, а не только на целевой (так что расширение также устанавливается на 8.3, а не только на основное приложение), в противном случае он не позволит вам развертываться на реальном устройстве.

Из-за известной проблемы в Xcode 7 beta 1 приложение watchOS 1 не сможет установить на настоящие часы со следующей ошибкой, если ваш парный телефон равен 64 бит:

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

Это связано с тем, что Xcode 7 добавляет arm64 в ключ UIRequiredDeviceCapabilities info.plist во время сборки даже до расширения watchOS 1, если этого не должно быть.

Вы можете временно обойти это, установив Только встроенная активная архитектура на NO для режима DEBUG.

Xcode 7 Known Issue

Надеюсь, что поможет

Ответ 2

У вас может быть приложение watchOS 2 для iPhone iOS 9 и расширение watchKit для устройства iOS 8.

Я бы сказал, что если вы еще не сделали приложение WatchKit (как в watchOS 1), тогда очень неэффективно сделать приложение watchOS 2 и попытаться создать и поддерживать приложение watchOS 1... просто прыгайте на борту watchOS 2 для разумных целей!