ios - Xcode 7 支持 watch OS1 和 OS2

标签 ios xcode7 watchos-2 watchos

我已经摆弄 Xcode 7 一段时间了,我知道它只支持 Swift 2,并且 Xcode 7 中无法支持 Swift 1.0 或 1.2。这很好。

现在来到 WatchOS,我可以在 Xcode 7 中分别拥有两个目标,一个用于 WatchOS1,一个用于 WatchOS2,以便我可以同时支持两者吗?

我正在查看 watch 目标和 iOS 应用程序目标的build设置中的部署目标设置,但我只能在列表中看到 WatchOS2,因此

  1. 我可以在 Xcode 7 中支持两个目标,分别用于 WatchOS1 和 WatchOS2 吗?如果是这样我应该在某个地方安装WatchOS1 SDK吗?或者 这完全不可能,如果不是为什么?.

  2. 如果两个目标都受支持,我怎样才能防止两个目标的源重复,因为两个操作系统都有重要的 架构方面的差异。

  3. 另外自从引入WatchConnectivity框架之后iOS对应的app也会有一些变化,如何维护呢 对于两个目标?

我很困惑,我需要尽快做出决定,感谢任何帮助。

最佳答案

您可以在 Xcode 7 中支持 watchOS 1 应用。 您还可以在 Xcode 7 中支持 watchOS 2 应用。

如果您想同时支持 watchOS 1 和 watchOS 2,那么您需要为每个操作系统设置单独的目标(由于架构的差异)

对于 watchOS 1 应用,添加新目标并从左侧选择 Apple Watch 部分,然后从列表中单击WatchOS 1 的 WatchKit 应用

watchOS 1 App

对于 watchOS 2 应用,添加新目标并选择 watchOS> 应用程序 部分,然后单击 WatchKit App 选项列表。

watchOS 2 App

关于在 Xcode 7(beta 1)中制作 watchOS 1 应用程序需要注意的几点...

因为我在运行 iOS 8.3 的 iPhone 6 和运行 watchOS 1.0.1 的 watch 上进行了测试,所以我需要将部署目标更改为 iOS 8.3,但请注意,您希望在项目级别执行此操作,而不仅仅是目标级别级别(以便扩展程序也设置为 8.3,而不仅仅是主应用程序),否则它不会让您部署到真实设备上。

由于 Xcode 7 beta 1 中的一个已知问题,如果您的配对手机是 64 位,watchOS 1 应用程序将无法在真正的 watch 上安装,并出现以下错误:

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

这是因为 Xcode 7 在构建时将 arm64 添加到 UIRequiredDeviceCapability info.plist 键中,甚至在不应该添加的情况下添加到您的 watchOS 1 扩展中。

您可以通过将 Debug模式的仅构建事件架构设置为NO来暂时解决此问题。

Xcode 7 Known Issue

希望有帮助

关于ios - Xcode 7 支持 watch OS1 和 OS2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33411350/

相关文章:

ios - 在 Xcode 中拥有多个产品变体的最佳方式是什么?

ios - WatchKit 数据不显示

ios - CoreLocation 捕获速度

ios - swift 2 核心数据谓词不一致

ios - 在 watchOS2 上只有声音和触觉的 Lo​​calNotification

iphone - 如何在标签栏上绘制符号?

ios - 将 RNCryptor 导入项目

swift - 如何将我自己的类(class)导入 Xcode 7 Playground ?

ios - 将文本从 iOS 标签传递到 WatchOS 标签 - swift-

ios - watchOS 2.0 - 无法取消 WCSessionFileTransfer