实际上没有丢失“ Info.plist文件中缺少目的字符串”

时间:2019-05-20 03:10:11

标签: ios dji-sdk

附件是我上传到App Store Connect之后从Apple获得的信息,即使所有这些信息都包含在我的info.plist中。我已经尝试了近10次,以将我的字符串的名称从长字符串(例如,为了获得与某些需要蓝牙才能从无人机获取遥测和其他数据的DJI模型连接的蓝牙)连接而更改为短字符串(例如,我们在Mapview上显示用户的位置。)

我所看到的所有其他问题都声称,简单的解决方案是包括我已经在做的字符串!这与DJI的SDK有关系吗?我认为仅在MY info.plist中包含此内容就足够了。主要问题似乎与蓝牙权限有关,因为我尝试上传的另一个应用程序会返回相同的问题。

Info.plist

  

“尊敬的开发人员,

     

我们确定了您的应用最近交付的一个或多个问题,   “ DJI Swift演示”。请更正以下问题,然后上传   再次。

     

Info.plist中缺少目的字符串-您的应用程序代码引用了一个   或更多访问敏感用户数据的API。该应用程序的Info.plist   文件应包含NSBluetoothPeripheralUsageDescription密钥,并带有   面向用户的目的字符串清楚,完整地说明了为什么   应用需要数据。从2019年春季开始,所有应用都将提交给   App Store要求访问用户数据包括目的   串。如果您使用的是外部库或SDK,则它们可能会引用   需要用途字符串的API。虽然您的应用可能不使用这些   API,仍然需要一个目的字符串。您可以联系   库或SDK的开发人员,并要求他们发布版本的   他们的代码不包含API。学到更多   (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy)。

     

尽管您无需修复以下问题,但我们希望   让您知道它们:

     

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)。”

3 个答案:

答案 0 :(得分:1)

请不要在XCode中验证plist信息,而应查看ipa内的plist。

请按照以下步骤验证ipa中的plist。

比方说,您的ipa文件是Demo.ipa

  1. 将Demo.ipa复制到DemoBkup.ipa
  2. 将其重命名为DemoBkup.zip
  3. 解压缩zip文件。 (双击压缩文件)
  4. 提取的文件将包含“有效载荷”文件夹。进入有效载荷文件夹。
  5. 您将找到演示包。右键单击并点击“显示包装内容”
  6. 搜索您的Info.plist。

验证您在XCode中提供的所有信息都在此plist中。

答案 1 :(得分:1)

使用键info.plistPrivacy - Bluetooth Peripheral Usage Description更改Privacy - Location When In Use Usage Description键。检查给定的屏幕截图以供参考:enter image description here

答案 2 :(得分:0)

请检查所构建方案引用的plist文件。我认为您要更改的plist文件与构建ipa文件提交给App Store的方案所引用的方案不同。