返回

Flutter项目中无法定位API声明?ITMS-91053故障的解决之道

IOS

无法定位 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,并提供已核准的理由。

步骤:

  1. 打开 Xcode 并选择你的应用目标。
  2. 导航到“构建设置”。
  3. 在“隐私”部分,找到“隐私 API 使用情况”字段。
  4. 单击“+”按钮添加新行。
  5. 选择受影响的 API 类别。
  6. 提供已核准的理由。
  7. 重复步骤 4-6 直到添加所有受影响的 API。
  8. 保存更改并重新编译你的项目。

Swift 和 Objective-C 示例:

Objective-C

NSPrivacyAccessedAPITypes *types = @[NSPrivacyAccessedAPITypeFileTimestamp, NSPrivacyAccessedAPITypeDiskSpace];
[application setPrivacyAccessedAPITypes:types];

Swift

application.privacyAccessedAPITypes = [.fileTimestamp, .diskSpace]

其他注意事项:

  • 确保只声明你的应用实际使用的 API。
  • 定期查看苹果开发者文档以了解政策更新。

结论

通过遵循这些步骤,你可以解决 ITMS-91053 错误并确保你的应用符合苹果的隐私要求。记住,2024 年 5 月 1 日是提交带有缺少 API 声明的应用的最后期限。

常见问题解答

  1. 什么是已核准的理由?
    苹果提供了可接受的理由列表,包括分析、个性化、错误报告和安全。

  2. 如何选择已核准的理由?
    仔细考虑你的应用如何使用 API,并选择最合适的理由。

  3. 我可以使用同一理由来声明多个 API 吗?
    可以,只要理由适用于所有 API。

  4. 需要声明所有使用的 API 吗?
    仅需要声明需要理由的 API。

  5. 如果我更新我的应用,是否需要重新声明 API?
    如果你的更新涉及需要理由的 API 的新用法,则需要重新声明它们。