Xcode 7 supporting watch OS1 and OS2

后端 未结 2 703
抹茶落季
抹茶落季 2020-12-01 12:34

I have been fiddling with Xcode 7 for sometime now, I get to know that it supports only Swift 2 and there is no way to support Swift 1.0 or 1.2 in Xcode 7. This is fine.

相关标签:
2条回答
  • 2020-12-01 13:12

    You can support watchOS 1 apps in Xcode 7. You can also support watchOS 2 apps in Xcode 7.

    If you want to support both watchOS 1 and watchOS 2 then you will need to have separate targets for each OS (due to the differences in architecture)

    For a watchOS 1 app, add a new target and select the Apple Watch section from the left and then click on the WatchKit App for watchOS 1 from the list.

    watchOS 1 App

    For a watchOS 2 app, add a new target and select the watchOS > Application section and then click on the WatchKit App option in the list.

    watchOS 2 App

    Couple of things to note about making a watchOS 1 app in Xcode 7 (beta 1)...

    Because I did my testing on an iPhone 6 running iOS 8.3 and my watch running watchOS 1.0.1, I needed to change my deployment target to iOS 8.3 but note that you want to do this at a project level rather than just target level (so that the extension also gets set to 8.3 and not just the main app) otherwise it won't let you deploy onto a real device.

    Due to a known issue in Xcode 7 beta 1, a watchOS 1 app will fail to install on a real watch with the following error if your paired phone is 64 bit:

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

    This is because Xcode 7 is adding arm64 to the UIRequiredDeviceCapabilities info.plist key at build time even to your watchOS 1 extension when it shouldn't be.

    You can temporarily get around this by setting Build Active Architecture Only to NO for DEBUG mode.

    Xcode 7 Known Issue

    Hope that helps

    0 讨论(0)
  • 2020-12-01 13:21

    You can have both a watchOS 2 app for an iOS 9 iPhone and a watchKit Extension for an iOS 8 device.

    I would though say that if you haven't already made a WatchKit app (as in watchOS 1), then it's highly unproductive to make a watchOS 2 app and try to create and maintain a watchOS 1 app... just jump on board to watchOS 2 for sanity purposes!

    0 讨论(0)
提交回复
热议问题