对于 ITMS-90683:Info.plist 中缺少用途字符串,我该怎么办

Jio*_*nes 6 ios flutter apple-developer

我用 Flutter 制作了我的应用程序。

我使用permission_handler来处理iOS的权限。(我的应用程序仅使用蓝牙和位置权限。)(显然我写了权限的确切目的)

我尝试将我的应用程序上传到 TestFlight。

应用商店给我发了一封这样的电子邮件:

应用商店连接

亲爱的开发者,

ITMS-90683:Info.plist 中缺少用途字符串 - 您的应用程序代码引用了一个或多个访问敏感用户数据的 API。应用程序的 Info.plist 文件应包含一个 NSContactsUsageDescription 键,其中包含面向用户的目的字符串,清楚、完整地解释应用程序需要数据的原因。从 2019 年春季开始,提交到 App Store 的所有访问用户数据的应用程序都必须包含目的字符串。如果您使用外部库或 SDK,它们可能会引用需要用途字符串的 API。虽然您的应用程序可能不使用这些 API,但仍然需要目的字符串。您可以联系库或 SDK 的开发人员,请求他们发布不包含 API 的代码版本。了解更多信息(https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy)。

ITMS-90683:Info.plist 中缺少用途字符串 - 您的应用程序代码引用了一个或多个访问敏感用户数据的 API。应用程序的 Info.plist 文件应包含一个 NSCalendarsUsageDescription 键,其中包含面向用户的目的字符串,清楚、完整地解释应用程序需要数据的原因。从 2019 年春季开始,提交到 App Store 的所有访问用户数据的应用程序都必须包含目的字符串。如果您使用外部库或 SDK,它们可能会引用需要用途字符串的 API。虽然您的应用程序可能不使用这些 API,但仍然需要目的字符串。您可以联系库或 SDK 的开发人员,请求他们发布不包含 API 的代码版本。了解更多信息(https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy)。

ITMS-90683:Info.plist 中缺少用途字符串 - 您的应用程序代码引用了一个或多个访问敏感用户数据的 API。应用程序的 Info.plist 文件应包含一个 NSAppleMusicUsageDescription 键,其中包含面向用户的目的字符串,清楚、完整地解释应用程序需要数据的原因。从 2019 年春季开始,提交到 App Store 的所有访问用户数据的应用程序都必须包含目的字符串。如果您使用外部库或 SDK,它们可能会引用需要用途字符串的 API。虽然您的应用程序可能不使用这些 API,但仍然需要目的字符串。您可以联系库或 SDK 的开发人员,请求他们发布不包含 API 的代码版本。了解更多信息(https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy)。

ITMS-90683:Info.plist 中缺少用途字符串 - 您的应用程序代码引用了一个或多个访问敏感用户数据的 API。应用程序的 Info.plist 文件应包含一个 NSMotionUsageDescription 键,其中包含面向用户的目的字符串,清楚、完整地解释应用程序需要数据的原因。从 2019 年春季开始,提交到 App Store 的所有访问用户数据的应用程序都必须包含目的字符串。如果您使用外部库或 SDK,它们可能会引用需要用途字符串的 API。虽然您的应用程序可能不使用这些 API,但仍然需要目的字符串。您可以联系库或 SDK 的开发人员,请求他们发布不包含 API 的代码版本。了解更多信息(https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy)。

ITMS-90683:Info.plist 中缺少用途字符串 - 您的应用程序代码引用了一个或多个访问敏感用户数据的 API。应用程序的 Info.plist 文件应包含 NSSpeechRecognitionUsageDescription 键,其中包含面向用户的目的字符串,清楚、完整地解释应用程序需要数据的原因。从 2019 年春季开始,提交到 App Store 的所有访问用户数据的应用程序都必须包含目的字符串。如果您使用外部库或 SDK,它们可能会引用需要用途字符串的 API。虽然您的应用程序可能不使用这些 API,但仍然需要目的字符串。您可以联系库或 SDK 的开发人员,请求他们发布不包含 API 的代码版本。了解更多(https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy)。

尽管您不需要解决以下问题,但我们希望让您了解这些问题:

ITMS-90078:缺少推送通知权利 - 您的应用程序似乎已注册 Apple 推送通知服务,但应用程序签名的权利不包括“aps-environment”权利。如果您的应用程序使用 Apple 推送通知服务,请确保您的应用程序 ID 在配置门户中启用了推送通知,并在使用包含“aps-environment”权利的分发配置配置文件签署您的应用程序后重新提交。Xcode 不会在构建时自动从配置文件中复制 aps-environment 权利。这种行为是故意的。要使用此权利,请在项目编辑器的功能窗格中启用推送通知,或手动将权利添加到您的权利文件中。有关更多信息,请参阅https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1

但我从未授予过权限。

在此输入图像描述

对于这个问题我该怎么办?

Ein*_*eln 4

您是否忘记禁用 Podfile 中不需要的内容? https://pub.dev/packages/permission_handler

如果您正确遵循本教程,他们会在“设置”>“iOS”中提到我已附加我的 Podfile 供我们查看 https://gist.github.com/theamorn/733850ddf9c6bc10cf10cca6be270322

注释掉不需要请求权限的代码

## dart: PermissionGroup.calendar
'PERMISSION_EVENTS=0',

## dart: PermissionGroup.reminders
'PERMISSION_REMINDERS=0',

## dart: PermissionGroup.contacts
# 'PERMISSION_CONTACTS=0',
Run Code Online (Sandbox Code Playgroud)