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

Flutter项目App Store审核ITMS-91053:缺失API声明问题问询

ITMS-91053 问题整改步骤及合规要点

一、具体整改步骤

1. 定位API引用来源

  • 用Xcode的「Find in Project」功能,搜索NSPrivacyAccessedAPICategoryFileTimestamp、NSPrivacyAccessedAPICategorySystemBootTime、NSPrivacyAccessedAPICategoryDiskSpace、NSPrivacyAccessedAPICategoryUserDefaults对应的具体调用(比如fileCreationDate、systemUptime、NSFileSystemFreeSize、UserDefaults相关方法),排查是项目代码直接调用还是第三方依赖库间接触发的。
  • 重点检查项目中集成的统计、工具类SDK,这类API调用常来自第三方依赖。

2. 创建/更新隐私清单文件

  • 若项目无PrivacyInfo.xcprivacy文件,右键项目 → 「New File」→ 搜索「Privacy Info File」添加。
  • 打开文件切换到「Source Code」模式,添加NSPrivacyAccessedAPITypes数组结构,示例如下:
<key>NSPrivacyAccessedAPITypes</key>
<array>
  <!-- 此处逐个添加四个API类别的声明项 -->
</array>

3. 填写合规使用理由

针对每个API类别,根据实际使用场景选择对应理由代码并补充清晰描述:

  • NSPrivacyAccessedAPICategoryFileTimestamp:
    理由代码选3C8F.1,描述示例:「用于识别缓存文件的创建时间,定期清理过期缓存以释放设备存储空间」
  • NSPrivacyAccessedAPICategorySystemBootTime:
    理由代码选7D9E.1,描述示例:「用于统计应用启动后的运行时长,优化性能监控逻辑」
  • NSPrivacyAccessedAPICategoryDiskSpace:
    理由代码选E1C4.1,描述示例:「用于检查设备剩余存储空间,确保应用有足够空间存储用户数据和下载资源」
  • NSPrivacyAccessedAPICategoryUserDefaults:
    理由代码选CA92.1,描述示例:「用于存储用户的应用偏好设置(如主题、语言选择),提升用户使用体验」

4. 验证并重新提交

  • 保存隐私清单后编译项目,确认无语法错误。
  • 重新打包应用上传至App Store Connect,检查是否仍有ITMS-91053提示。

二、合规要点

  • 理由必须真实准确:禁止编造使用场景,Apple会抽查验证,虚假理由可能导致审核被拒甚至账号处罚。
  • 剔除不必要的API调用:若API调用来自非必要的第三方依赖,考虑替换依赖库或禁用相关功能,减少隐私声明的复杂度。
  • 描述需具体清晰:不能用模糊表述(如「用于应用功能」),必须明确说明API的具体用途,让审核人员清楚了解使用场景。
  • 同步更新隐私清单:后续应用新增需声明的API调用时,要及时更新隐私清单,避免再次触发ITMS提示。

内容的提问来源于stack exchange,提问作者odin.dev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 10:03:13