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

上传App Store Connect报90906错误缺失WKApplication键值咨询

故障现象
  • 向App Store Connect上传iOS应用时操作失败,系统返回错误码STATE_ERROR.VALIDATION_ERROR.90906,关联ID为e981e416-dc00-41ca-8442-ed1ffb0a8f79
  • 系统提示Info.plist缺失必填值:Runner.app/Runner.app包中必须配置键WKApplication的对应值;若项目包含WatchKit App Extension target,则需配置键WKWatchKitApp的对应值
  • 通过Xcode点击Distribute App分发、使用Transporter App执行上传两种操作路径都会触发该报错
  • 报错界面如下:
    Transporter上传报错界面
故障根因

该报错属于App Store包结构校验失败,核心原因是上传的IPA包内嵌套了同名Runner.app产物,被苹果的校验逻辑误识别为未做合规配置的WatchKit App,触发了Watch相关的Info.plist字段强校验。这类问题高发于Flutter项目打包配置错误、手动调整Build Phases时误添加拷贝规则、错误引入Watch相关依赖的场景。
正常iOS主Target的Info.plist无需配置WKApplication字段,仅当工程确实包含独立WatchOS App或WatchKit Extension时,才需要配置对应字段。

修复步骤

按以下顺序排查修复,完成后重新打包上传即可:

  • 排查嵌套打包配置
    打开Xcode选中主工程Target,进入Build Phases标签页:
    1. 展开Copy Bundle Resources列表,检查是否存在.app格式的编译产物(尤其是Runner.app),如果存在直接删除——编译生成的.app产物属于主包本体,不能作为资源被二次拷贝进主包,否则就会出现Runner.app/Runner.app的嵌套结构
    2. 同步检查Embed Frameworks、Embed Watch Content两个阶段的配置,确认没有错误引入非Watch业务相关的.app、WatchKit依赖
  • 清理无效Watch配置
    1. 进入主Target的General标签页,找到Frameworks, Libraries, and Embedded Content列表,删除所有和WatchKit、WatchOS相关的依赖(无Watch业务的项目不需要引入这类依赖)
    2. 检查工程下所有Target的Info.plist文件,没有开发Watch业务的前提下,不要手动添加WKApplication、WKWatchKitApp字段,多余字段会强制触发苹果服务端的Watch包校验逻辑

    若项目确实包含独立WatchOS应用,需给Watch App Target的Info.plist配置WKApplication = YES,给WatchKit Extension Target的Info.plist配置WKWatchKitApp = YES即可通过校验

  • 清理缓存重新打包
    1. Flutter项目先执行以下命令清理编译缓存:
    flutter clean
    flutter pub get
    
    1. Xcode端使用快捷键Shift + Command + K执行Clean Build Folder,清空DerivedData目录下对应工程的所有缓存文件
    2. 重新核对签名配置后执行Archive,导出IPA后重新上传

内容的提问来源于stack exchange,提问作者Buchi Emmanuel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 20:57:16