更新 watchOS 2 SDK or later

Invalid WatchKit Support - Starting April 1, 2018, all apps submitted to App Store for Apple Watch must be built with the watchOS 2 SDK or later.

最近在提交应用的时候,苹果那边给了一个升级 watchOS 2 SDK 的警告。这个事情我先说下我们的情况,我们的 Apple Watch 工程是 2015年1月份左右 创建并发布的,然后这个工程就一直放在那儿没有在动过直到现在。收到通知的时候,我翻了网上的一些相关资料发现 watchOS 2 SDKwatchOS 1 SDK 完全是架构上的不同。在想了很多的办法之后,发现并不能很简单的从 watchOS 1 SDK 升级为 watchOS 2 SDK

我的升级做法

  • 删除工程中一切 Apple Watch 相关的文件和对应的 Target
  • 创建新的 Target 并正确配置使空白的 Target 能运行
  • 将之前删除的文件重新添加回来,依附新的 Target
  • 修改废弃的 Api 调整代码使工程正常运行

为啥这样做

由于 watchOS 2 SDKwatchOS 1 SDK 架构上的完全不同,并不能仅仅从配置上升级,只有从新建立 Target。同时苹果也声明可以 watchOS 1 SDKwatchOS 2 SDK 两个 Target 并存,因为苹果在 16年 的时候也出过一次警告让升级,在那个时候,苹果是推荐共存的,但是目前已经没有这个必要了。

遇到的问题

由于之前没有接触 Apple Watch 开发相关的,所以对 12 不同架构的问题并不清楚,另外苹果之前出的一篇升级文档现在被他们重定向到新的开发文档上面了。导致一度没有搞明白苹果的意图。另外网上关于这个的讨论似乎并不是太多,我推测原因是:一大部分公司并没有做 Apple Watch 开发这样当然不会有对应的警告提醒;另外就是如果有做 Apple Watch 开发的,应该会一直在跟进更新,不像我们这样 3年 都没有对其进行过更新管理。写这篇简短的文章也是希望能帮到遇到同样问题的开发者。

参考

推荐阅读更多精彩内容