You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Xcode 9.3上传TestFlight时遇WatchKit报错求助

解决Xcode 9.3上传TestFlight的WatchKit版本错误

我之前也碰到过几乎一模一样的坑,给你几个针对性的排查步骤,亲测有效:

  • 别只看Base SDK,重点查Deployment Target
    苹果的报错核心是要求构建包基于watchOS 2或更高版本,你可能只检查了Base SDK,但忽略了Watch App Target和它的Extension的Deployment Target。去每个Watch相关Target的Build Settings里,找到Deployment Target,确保都设置为watchOS 2.0及以上(建议和你当前Base SDK匹配的最低兼容版本)。

  • 清理项目里的旧WatchKit残留痕迹
    如果项目之前有过watchOS 1的WatchKit Target,哪怕你删了Target,可能还有残留的配置或文件。试试这几步:

    1. 去项目根目录手动检查有没有WatchKitSupport文件夹,或者旧的.watchkitapp、.watchkitextension残留文件,删掉它们
    2. 右键项目文件→Show Package Contents,打开project.pbxproj,搜索有没有旧的Watch相关Target配置,手动清理(操作前记得备份文件!)
  • 确认Archive时的构建设置
    有时候手动Archive会不小心用错SDK版本:

    1. 打开Xcode的Product→Scheme→Edit Scheme,选Archive选项卡,确保Build Configuration是Release,对应的SDK是当前最新的watchOS版本
    2. 在Build Settings里搜索SDKROOT,确认Watch相关Target的SDKROOT都是watchos(不是旧的watchos1.x)
  • 彻底清理缓存后重新构建
    Xcode的缓存经常会搞出奇怪的问题,按这个流程来:

    1. 关闭Xcode,删除Derived Data(路径在Xcode→Preferences→Locations里,直接删掉整个文件夹)
    2. 用Command+Shift+K清理项目,再用Command+Option+Shift+K做彻底清理
    3. 重启Mac,重新打开项目,重新Archive上传
  • 检查Info.plist的关键配置
    打开Watch App的Info.plist,确认:

    • 存在WKWatchKitApp键,且值设为YES
    • WKCompanionAppBundleIdentifier和主App的Bundle ID完全匹配,格式正确

另外提一句,你说的图标缺失警告,虽然不是当前核心错误,但建议也一并解决——有时候苹果的上传验证逻辑会因为这类警告触发连锁异常,间接导致WatchKit的错误提示。

内容的提问来源于stack exchange,提问作者Parth Grover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:54:55