You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

App Store多次拒审求助:违反2.3 - Performance - Accurate Metadata准则

解决App Store因UIRequiredDeviceCapabilities设置不当导致的2.3准则拒审问题

我之前帮好几个开发者踩过这个坑,正好给你梳理下怎么彻底解决:

问题根源拆解

苹果的2.3准则要求App的元数据(包括Info.plist配置)必须准确,UIRequiredDeviceCapabilities这个键是用来声明App绝对依赖、没有就完全无法运行的硬件/系统能力。如果你把iPad不具备的能力(比如telephony电话功能)设为必填,就会直接导致iPad无法安装;哪怕你只想让App在iPhone上跑,苹果也要求它能在iPad上正常安装(哪怕是兼容模式运行),这就是第一次拒审的核心原因。

具体修复步骤

  • 清理不必要的必填能力:打开你的Info.plist文件,找到UIRequiredDeviceCapabilities数组,把所有不是App运行必需的条目删掉。比如如果你的App只是普通的社交类App,不需要电话、NFC这类iPad没有的能力,就别把这些加进去。
  • 正确限制设备范围:如果只想让App面向iPhone用户,别用UIRequiredDeviceCapabilities来实现。正确的操作是在Xcode的项目配置里,进入Deployment Info面板,把Devices选项设为iPhone。这样iPad用户依然能下载安装(会以iPhone适配模式打开),但不会出现在iPad的App Store主推荐列表里,完全符合苹果的规则。
  • 动态检测必需能力(如果有):如果你的App确实依赖某些特殊能力(比如ARKit、面容ID),不要直接设为必填,而是在代码里做动态检测:
    if ARConfiguration.isSupported {
        // 支持ARKit的逻辑
    } else {
        // 提示用户设备不支持,或者提供替代功能
    }
    
    这样既保证了App能在所有设备上安装,又能针对不支持的设备做友好处理。
  • 提交前自测:一定要在iPhone和iPad上都测试安装流程,确保能正常安装启动。也可以用Xcode的Product > Validate App功能做自检,提前排查配置问题。

针对第二次拒审的建议

如果第二次提交还是被拒,一定要仔细读审核团队的完整反馈,大概率是还有遗漏的配置问题没解决。比如可能你只删了部分必填能力,还有其他隐藏的条目;或者Xcode的设备配置没生效。可以把Info.plist的UIRequiredDeviceCapabilities部分完全清空(如果没有必须依赖的能力的话),再重新打包提交。

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

火山引擎 最新活动