Flutter项目中无法定位API声明?ITMS-91053故障的解决之道
2024-03-12 05:45:13
无法定位 Flutter 项目中的 API 声明:解决 ITMS-91053 故障指南
引言
作为 iOS 开发人员,了解苹果不断发展的隐私政策至关重要。最近,一个普遍存在的错误是 ITMS-91053,表明你的应用缺少对某些 API 的声明。本文将深入探讨这个错误,提供易于遵循的步骤来解决它,并帮助你在即将到来的 2024 年 5 月 1 日截止日期之前让你的应用符合要求。
什么是 ITMS-91053?
ITMS-91053 是一个 App Store 审核错误,表示你的应用代码使用了需要理由的 API,但却没有在应用的隐私清单中声明这些 API。
受影响的 API
受此错误影响的 API 包括:
- NSPrivacyAccessedAPICategoryFileTimestamp
- NSPrivacyAccessedAPICategorySystemBootTime
- NSPrivacyAccessedAPICategoryDiskSpace
- NSPrivacyAccessedAPICategoryUserDefaults
解决方案:添加 NSPrivacyAccessedAPITypes 数组
要解决此问题,你需要在代码中添加一个 NSPrivacyAccessedAPITypes 数组。该数组指定你的应用使用需要理由的 API,并提供已核准的理由。
步骤:
- 打开 Xcode 并选择你的应用目标。
- 导航到“构建设置”。
- 在“隐私”部分,找到“隐私 API 使用情况”字段。
- 单击“+”按钮添加新行。
- 选择受影响的 API 类别。
- 提供已核准的理由。
- 重复步骤 4-6 直到添加所有受影响的 API。
- 保存更改并重新编译你的项目。
Swift 和 Objective-C 示例:
Objective-C
NSPrivacyAccessedAPITypes *types = @[NSPrivacyAccessedAPITypeFileTimestamp, NSPrivacyAccessedAPITypeDiskSpace];
[application setPrivacyAccessedAPITypes:types];
Swift
application.privacyAccessedAPITypes = [.fileTimestamp, .diskSpace]
其他注意事项:
- 确保只声明你的应用实际使用的 API。
- 定期查看苹果开发者文档以了解政策更新。
结论
通过遵循这些步骤,你可以解决 ITMS-91053 错误并确保你的应用符合苹果的隐私要求。记住,2024 年 5 月 1 日是提交带有缺少 API 声明的应用的最后期限。
常见问题解答
-
什么是已核准的理由?
苹果提供了可接受的理由列表,包括分析、个性化、错误报告和安全。 -
如何选择已核准的理由?
仔细考虑你的应用如何使用 API,并选择最合适的理由。 -
我可以使用同一理由来声明多个 API 吗?
可以,只要理由适用于所有 API。 -
需要声明所有使用的 API 吗?
仅需要声明需要理由的 API。 -
如果我更新我的应用,是否需要重新声明 API?
如果你的更新涉及需要理由的 API 的新用法,则需要重新声明它们。