我成功将我的应用上传到应用商店中。
应用商店向我发送了这样的电子邮件:
App Store Connect
亲爱的开发人员,
我们发现您的应用“ Kupona Online” 1.0.2(1.2)最近交付时出现一个或多个问题。请更正以下问题,然后重新上传。
ITMS-90683:Info.plist中缺少目的字符串-您的应用程序代码引用了一个或多个访问敏感用户数据的API。该应用程序的Info.plist文件应包含一个NSCameraUsageDescription密钥,该密钥具有面向用户的目的字符串,可以清楚,完整地说明您的应用程序为何需要数据。从2019年春季开始,所有提交给App Store的访问用户数据的应用都必须包含用途字符串。如果您使用的是外部库或SDK,则它们可能会引用需要用途字符串的API。尽管您的应用可能未使用这些API,但仍然需要一个目的字符串。您可以与库或SDK的开发人员联系,并要求他们发布不包含API的代码版本。了解更多信息(https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy)。
最诚挚的问候,
App Store团队
要解决此错误,我将Xcode 10.2.1中的Info.plist放入这样:
但是什么也没发生。应用商店总是向我发送此错误。
如何解决此错误?
答案 0 :(得分:1)
答案 1 :(得分:0)
人们说,即使他们不要求访问相机,他们也会被拒绝。您必须知道Apple将使用其静态分析工具来扫描您的代码。即使您在功能标记后面对此进行了保护,应用商店审查程序仍然会拒绝您的应用。因为他们不知道您何时打开该功能标志。
此外,如果第三方服务的代码中包含与摄像头访问相关的代码,则可能会出现此问题。同样,即使您未达到(第三方框架的)要求,也需要输入该密码。
但是后来我遇到了在其中添加了该plist的问题,但是随后应用商店审核小组却无法对其进行测试,因为该功能受功能标记保护。而且因为他们无法测试它,所以他们不赞成¯\(ツ)/¯
最后但并非最不重要的一点是,如果您确实需要在plist中使用该键,请确保其推理足够通用以涵盖所有情况,例如如果您需要同时访问个人资料照片和扫描QR码的摄像头,那么鉴于您的应用可以在 个人资料照片步骤或扫描PR码时请求访问摄像头,则您的plist中的说明应涵盖这两项功能,而不仅仅是一项。如果您说“需要访问个人资料照片”,那么如果用户首先点击QR流程但看到您正在请求访问个人资料照片,则有可能被拒绝。因此,您应该说“需要访问个人资料照片和QR码扫描新设备”
tl; dr标识请求访问的应用程序流中的何处。如果需要,则将其键/值添加到您的plist中。如果不需要,请注释掉该行。您不只是为了通过应用商店审查而添加plist。它可以失败,但也可以成功,但是在将来的版本中,它可以成功...