我刚刚向我的应用程序上传了更新,并收到了 Apple 的以下回复:
虽然提交 TestFlight 审核成功,但您可能 希望在下次提交时更正以下问题 试飞审查。更正问题后,上传新的 二进制到 App Store Connect。
ITMS-91053:缺少 API 声明 - 您的应用程序代码位于“Runner”中 文件引用一个或多个需要原因的 API,包括 以下 API 类别:
。 虽然目前无需采取任何行动,但从 2024 年 5 月 1 日开始, 您上传新的应用程序或应用程序更新时,必须包含 应用程序隐私清单中的 NSPrivacyAccessedAPITypes 数组 提供您的应用程序代码使用这些 API 的批准原因。为了 有关此政策的更多详细信息,包括所需原因列表 API 和批准的使用原因,请访问: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api。NSPrivacyAccessedAPICategoryUserDefaults
ITMS-91053:缺少 API 声明 - 您的应用程序代码位于“Runner”中 文件引用一个或多个需要原因的 API,包括 以下 API 类别:
。尽管 从 2024 年 5 月 1 日开始,此时您无需采取任何行动 上传新应用程序或应用程序更新时,您必须包含 应用程序隐私清单中的 NSPrivacyAccessedAPITypes 数组 提供您的应用程序代码使用这些 API 的批准原因。为了 有关此政策的更多详细信息,包括所需原因列表 API 和批准的使用原因,请访问: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api。NSPrivacyAccessedAPICategoryDiskSpace
除了通过 xcode 上传我的 Flutter 应用程序之外,我对 Apple 环境了解不多。 我不知道我具体需要做什么。他们提供的链接没有帮助。
我的应用程序通过 firebase 使用推送通知,这是通过分析设置的。 我的应用程序还通过 JSON API 从我的域导入数据到应用程序,并从另一个域导入 HTML 数据。 该应用程序还具有网络视图(仅限少数域)。 该应用程序还会检查连接状态(是否有互联网)。 没有登录或用户区域,它是一个免费的应用程序。
一切都已通过 Testflight 设置并正确运行,但我需要这方面的帮助,因为我不知道该怎么做。
谢谢
Apple 更改了部分政策,因此现在他们希望您在 ios 资产文件夹中拥有一个 Privacy Manifest 文件,该文件将告诉他们您的应用程序如何使用平台 api。您收到磁盘空间和用户默认警告,因为我认为 Firebase 内部使用磁盘空间来实现持久性。因此,您可以做的就是更新所有软件包,以便使用平台 API 的软件包将更新隐私文件,就像视频播放器、插件、地理定位器等一样,您还可以做的就是在应用程序中添加隐私清单文件包含磁盘空间和用户默认键及其类别。
如果你检查这个线程,你会得到更好的想法: https://github.com/flutter/flutter/issues/131940
或者在最坏的情况下,您可以以最低权限添加上述密钥并尝试提交,但 flutter 团队不推荐这样做,所以我也不会推荐这样做