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

Cordova-ios 7.1.0提交App Store遇ITMS-91053隐私声明警告求助

解决Cordova iOS应用ITMS-91053隐私API声明缺失警告的排查方案

针对同环境同插件版本下部分应用出现ITMS-91053警告的问题,可按以下步骤排查解决:

1. 核对config.xml隐私清单配置的准确性

  • 确认<privacy-manifest>标签必须嵌套在<platform name="ios">节点内,全局配置不生效
  • 检查API分类和理由的拼写:确保NSPrivacyAccessedAPICategoryDiskSpace、NSPrivacyAccessedAPICategoryFileTimestamp无拼写错误,使用理由必须是Apple官方指定的枚举值(如NSDiskSpaceAccessedReasonCategorySystemFeatures、NSFileTimestampAccessedReasonCategorySystemFeatures,不可自定义)
  • 参考正确配置示例:
    <platform name="ios">
        <privacy-manifest>
            <access-api category="NSPrivacyAccessedAPICategoryDiskSpace" reason="NSDiskSpaceAccessedReasonCategorySystemFeatures" />
            <access-api category="NSPrivacyAccessedAPICategoryFileTimestamp" reason="NSFileTimestampAccessedReasonCategorySystemFeatures" />
        </privacy-manifest>
    </platform>
    

2. 验证Cordova生成的隐私清单文件

  • 执行cordova prepare ios后,打开Xcode工程:
    • 检查AppName/Plugins目录下各插件是否生成了对应的PrivacyInfo.xcprivacy文件
    • 确认主工程Resources目录存在合并后的隐私清单文件,且已添加到"Build Phases" -> "Copy Bundle Resources"中
  • 若插件未生成该文件,说明插件的plugin.xml可能未适配隐私清单配置,可尝试更新插件或手动补充

3. 排查插件依赖差异

  • 执行cordova plugin list对比正常应用和异常应用的完整插件列表(包括嵌套依赖),确认是否存在间接插件版本不一致的情况
  • 尝试全量移除后重装插件:执行cordova plugin remove --all,再逐个重新安装插件,每次安装后执行cordova prepare ios检查隐私清单生成情况

4. 手动添加隐私清单文件

若Cordova自动合并逻辑失效,可手动创建PrivacyInfo.xcprivacy文件,放置在主工程的Resources目录下,内容如下:

<?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>NSPrivacyAccessedAPICategory</key>
            <string>NSPrivacyAccessedAPICategoryDiskSpace</string>
            <key>NSPrivacyAccessedAPITypeReasons</key>
            <array>
                <string>NSDiskSpaceAccessedReasonCategorySystemFeatures</string>
            </array>
        </dict>
        <dict>
            <key>NSPrivacyAccessedAPICategory</key>
            <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
            <key>NSPrivacyAccessedAPITypeReasons</key>
            <array>
                <string>NSFileTimestampAccessedReasonCategorySystemFeatures</string>
            </array>
        </dict>
    </array>
</dict>
</plist>

添加后需在Xcode中确认该文件已被纳入打包资源。

5. 清理构建缓存

  • 执行cordova clean ios清除Cordova侧缓存
  • 在Xcode中执行"Product" -> "Clean Build Folder",并删除~/Library/Developer/Xcode/DerivedData目录下的对应工程缓存
  • 重新构建归档并提交审核

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 16:05:02