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

提交App至苹果审核后出现API声明缺失问题,如何解决?

解决Expo React Native应用ITMS-91053隐私API声明问题

针对你遇到的App Store审核返回ITMS-91053错误,且已在app.json添加隐私清单配置仍无效的情况,可按以下步骤排查解决:

1. 确认Expo SDK版本兼容性

Expo从SDK 49开始正式支持privacyManifests自动配置,如果你使用的是低于49的版本:

  • 优先升级到最新稳定SDK版本(执行expo upgrade)
  • 若无法升级,需手动添加隐私清单文件(见步骤4)

2. 检查app.json隐私配置格式是否正确

很多问题出在配置格式或理由代码错误上,确保配置符合Expo要求,示例如下:

{
  "expo": {
    "ios": {
      "privacyManifests": {
        "NSPrivacyAccessedAPICategoryDiskSpace": ["CA92.1"],
        "NSPrivacyAccessedAPICategoryFileTimestamp": ["C617.1"],
        "NSPrivacyAccessedAPICategorySystemBootTime": ["35F9.1"],
        "NSPrivacyAccessedAPICategoryUserDefaults": ["CA19.1", "CA19.2"]
      }
    }
  }
}

注意:理由代码必须是苹果官方指定的,需与你应用实际使用场景匹配(比如CA92.1对应磁盘容量管理,C617.1对应文件排序/识别),不能随意填写。

3. 排查第三方依赖的隐私清单缺失

错误提示中的MagicMusicCreateAISongs大概率来自第三方依赖库,该库可能未内置隐私清单:

  • 定位到该依赖(比如查看package.json中的相关AI音乐生成库),检查其是否支持隐私声明
  • 若库未提供隐私清单,使用patch-package给依赖打补丁:
    1. 在依赖的ios目录下创建PrivacyInfo.xcprivacy文件(内容参考步骤4的XML示例)
    2. 执行npx patch-package [依赖包名]生成补丁,确保每次npm install后配置不会被覆盖
  • 同时联系库开发者更新版本,添加官方隐私清单

4. 手动添加PrivacyInfo.xcprivacy文件

如果Expo自动配置失效,可手动创建隐私清单文件:

  1. 若为managed workflow,先执行expo prebuild生成iOS目录
  2. 在ios/目录下创建PrivacyInfo.xcprivacy,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>NSPrivacyAccessedAPITypes</key>
  <array>
    <dict>
      <key>NSPrivacyAccessedAPIType</key>
      <string>NSPrivacyAccessedAPICategoryDiskSpace</string>
      <key>NSPrivacyAccessedAPITypeReasons</key>
      <array><string>CA92.1</string></array>
    </dict>
    <dict>
      <key>NSPrivacyAccessedAPIType</key>
      <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
      <key>NSPrivacyAccessedAPITypeReasons</key>
      <array><string>C617.1</string></array>
    </dict>
    <dict>
      <key>NSPrivacyAccessedAPIType</key>
      <string>NSPrivacyAccessedAPICategorySystemBootTime</string>
      <key>NSPrivacyAccessedAPITypeReasons</key>
      <array><string>35F9.1</string></array>
    </dict>
    <dict>
      <key>NSPrivacyAccessedAPIType</key>
      <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
      <key>NSPrivacyAccessedAPITypeReasons</key>
      <array><string>CA19.1</string><string>CA19.2</string></array>
    </dict>
  </array>
</dict>
</plist>
  1. 确保该文件被Expo打包包含,可通过expo-build-properties插件配置资源文件路径

5. 清理缓存并重新构建

缓存可能导致配置不生效,执行以下操作:

  • expo r -c 清理Expo缓存
  • rm -rf node_modules && npm install 重新安装依赖
  • 若已prebuild,删除ios/目录后重新执行expo prebuild
  • 用eas build --platform ios --profile production重新构建生产包

6. 验证隐私清单是否打包成功

构建完成后,下载归档文件,解压找到.app文件,右键「显示包内容」,确认存在PrivacyInfo.xcprivacy且内容与配置一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:43:12