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 SDK
和 watchOS 1 SDK
完全是架构上的不同。在想了很多的办法之后,发现并不能很简单的从 watchOS 1 SDK
升级为 watchOS 2 SDK
。
我的升级做法
- 删除工程中一切
Apple Watch
相关的文件和对应的Target
- 创建新的
Target
并正确配置使空白的Target
能运行 - 将之前删除的文件重新添加回来,依附新的
Target
- 修改废弃的
Api
调整代码使工程正常运行
为啥这样做
由于 watchOS 2 SDK
和 watchOS 1 SDK
架构上的完全不同,并不能仅仅从配置上升级,只有从新建立 Target
。同时苹果也声明可以 watchOS 1 SDK
和 watchOS 2 SDK
两个 Target
并存,因为苹果在 16年
的时候也出过一次警告让升级,在那个时候,苹果是推荐共存的,但是目前已经没有这个必要了。
遇到的问题
由于之前没有接触 Apple Watch
开发相关的,所以对 1
和 2
不同架构的问题并不清楚,另外苹果之前出的一篇升级文档现在被他们重定向到新的开发文档上面了。导致一度没有搞明白苹果的意图。另外网上关于这个的讨论似乎并不是太多,我推测原因是:一大部分公司并没有做 Apple Watch
开发这样当然不会有对应的警告提醒;另外就是如果有做 Apple Watch
开发的,应该会一直在跟进更新,不像我们这样 3年
都没有对其进行过更新管理。写这篇简短的文章也是希望能帮到遇到同样问题的开发者。
参考
- AppleWatch2TransitionGuide 使用网页时光机找回的之前的升级文档
- App Programming Guide for watchOS 苹果的官方开发文档
- Upgrading existing watchOS 1 project to watchOS 2 我就是参照里面的回答做的
- watchOS 2 watchOS 2的一些介绍