App Store错误连接:'ITMS-90683:Info.plist中缺少目的字符串'和'ITMS-90078:缺少推送通知权利'[Flutter]

问题描述 投票:-1回答:1

我正在尝试在App Store Connect上上传我们应用的新版本。在我们的旧版本中,我们已经在使用推送通知,因此,Apple Push Services的证书已经处于活动状态,并已添加到Apple Developer Portal中(如下面的屏幕快照所示)。当我们将应用程序的先前版本上传到App Store Connect时,没有问题。但是,现在,当我尝试使用Xcode将我们的新版本的应用程序上传到App Store Connect时,Xcode端未显示任何错误,并且上传成功(如下面的屏幕快照所示)。

[当我回到App Store Connect检查我上载的构建版本,以便可以将其提交以供审阅时,就是说该构建正在处理中(如下面的屏幕快照所示)。一段时间后,我收到来自App Store Connect的电子邮件,其中提到我们的构建版本存在以下问题(此问题末尾提供了详细的电子邮件):

ITMS-90683:Info.plist中缺少目的字符串

ITMS-90078:缺少推送通知权利

对于我们的应用程序的最新生成版本,提到Info.plist的ITMS-90683错误(如下所示)缺少对[[NSContactsUsageDescription,NSCalendarsUsageDescription,NSAppleMusicUsageDescription,NSMotionUsageDescription,NSSpeechRecognitiontionUsageDescriptionDescriptionInUseNSLocationAlwaysUs的描述。但是,在使用Flutter框架构建的应用程序中,我们没有专门使用这些权限。我的问题如下:

    当我不使用其中任何一个时,如何解决ITMS-90683错误在我们的应用程序中显式授予权限,以便构建版本可以是已成功上传以供审核?
  1. 由于Apple Push Services的证书已经添加到Apple Developer门户中,我如何修复ITMS-90078并将该应用程序提交以进行审查?
  2. Info.plist内容:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>$(DEVELOPMENT_LANGUAGE)</string> <key>CFBundleExecutable</key> <string>$(EXECUTABLE_NAME)</string> <key>CFBundleIdentifier</key> <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>AppName</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>$(MARKETING_VERSION)</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>$(CURRENT_PROJECT_VERSION)</string> <key>LSRequiresIPhoneOS</key> <true/> <key>NSCameraUsageDescription</key> <string>Need to upload image</string> <key>NSMicrophoneUsageDescription</key> <string>Need to upload image</string> <key>NSPhotoLibraryUsageDescription</key> <string>Need to upload image</string> <key>UILaunchStoryboardName</key> <string>Launch Screen2</string> <key>UIMainStoryboardFile</key> <string>Main</string> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> <key>UISupportedInterfaceOrientations~ipad</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationPortraitUpsideDown</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> <key>UIViewControllerBasedStatusBarAppearance</key> <false/> </dict> </plist>

非常感谢您的帮助。预先谢谢!

我的项目的“签名和功能”屏幕截图:enter image description here

成功从Xcode上传构建版本的屏幕快照:enter image description here

正在处理新的构建版本的App Store Connect的屏幕截图:enter image description here

启用了Apple Push Services证书的Apple Developer Portal屏幕截图,该版本的早期版本使用该应用程序:enter image description here

有关错误的来自App Store Connect的电子邮件:

亲爱的开发者,

我们确定了您的应用的最近交付中的一个或多个问题,[APP NAME] 2.0.1(4)。请更正以下问题,然后上传再次。

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 Push Notification服务,但该应用程序签名的权利不包括“ aps-environment”权利。如果您的应用程序使用Apple Push Notification服务,确保在的“推送通知”中启用了您的应用IDProvisioning Portal,然后使用包含“ aps环境”的分发供应配置文件权利。 Xcode不会自动复制aps环境在构建时来自配置文件的权利。此行为是故意的。要使用此权利,请启用“推送通知”在项目编辑器的“功能”窗格中,或手动添加您的权利文件的权利。有关更多信息,请参见https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1

ITMS-90683:Info.plist中缺少目的字符串-您的应用代码引用一个或多个访问敏感用户数据的API。该应用的Info.plist文件应包含NSLocationAlwaysUsageDescription键面向用户的目的字符串清晰,完整地解释为什么您的应用需要数据。从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文件应包含NSLocationWhenInUseUsageDescription带有面向用户的目的字符串的键,清楚地说明和完全说明您的应用为何需要数据。从2019年春季开始,所有应用程序提交给需要访问用户数据的App Store包括目的字符串。如果您使用的是外部库或SDK,它们可能引用需要用途字符串的API。当您的应用程序可能不使用这些API,仍然需要一个目的字符串。您可以与库或SDK的开发人员联系,并要求他们发布一个他们的代码版本不包含API。学到更多(https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy)。

最诚挚的问候,

App Store团队

我正在尝试在App Store Connect上上传我们应用的新版本。在我们的旧版本中,我们已经在使用推送通知,因此Apple Push Services的证书已经处于活动状态...

ios xcode flutter app-store-connect info.plist
1个回答
1
投票
当我没有在我们的应用中明确使用这些权限中的任何一个,以便可以成功上传构建版本以供审阅时,如何解决ITMS-90683错误?
© www.soinside.com 2019 - 2024. All rights reserved.