Ios react-native 无法部署到应用商店获取 ITMS-90683:Info.plist 中缺少目的字符串

Posted

技术标签:

【中文标题】Ios react-native 无法部署到应用商店获取 ITMS-90683:Info.plist 中缺少目的字符串【英文标题】:Ios react-native cant deploy to app store getting ITMS-90683: Missing Purpose String in Info.plist 【发布时间】:2020-01-21 08:42:08 【问题描述】:

我从 App Store Connect 获得: 缺少 NSContactsUsageDescription 和 NSBluetoothAlwaysUsageDescription, 但是当我锁定我的 info.plist 时,我会看到这些属性。

接下来我该怎么做? 需要调试或查找缺少这些属性的位置?

【问题讨论】:

【参考方案1】:

ios/[app-name]/Info.plist获得许可

<key>NSContactsUsageDescription</key>
<string>This app requires contacts access to function properly.</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>App uses Bluetooth to find, connect and communicate with nearby devices. Please grant access.</string>

注意space,可以查看Info.plist作为源代码

如果你的目标是13以下的iOS,还需要加上NSBluetoothPeripheralUsageDescription

【讨论】:

没有空格没关系NSContactsUsageDescription$(PRODUCT_NAME) 想使用你的联系人 NSBluetoothPeripheralUsageDescription 已经存在 你能从 App Store Connect 发送完整的描述吗? ITMS-90683:Info.plist 中缺少目的字符串 - 您的应用代码引用了一个或多个访问敏感用户数据的 API。应用程序的 Info.plist 文件应包含一个 NSContactsUsageDescription 键和一个面向用户的目的字符串,清楚而完整地解释您的应用程序需要数据的原因。从 2019 年春季开始,所有提交到 App Store 并访问用户数据的应用程序都必须包含目的字符串。如果您使用的是外部库或 SDK,它们可能会引用需要目的字符串的 API。虽然您的应用可能不使用这些 API,但仍需要使用目的字符串。 If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required 这意味着您的代码或任何其他库或 SDK 可以使用其他权限,即使您不使用它,但您仍然需要提供隐私说明。 我有很多问题有没有办法找到导致问题的原因?

以上是关于Ios react-native 无法部署到应用商店获取 ITMS-90683:Info.plist 中缺少目的字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用 fastlane 匹配方法在本地 iOS 设备上运行 react-native 应用程序

iOS 上的共享扩展无法打开我的 react-native 应用

几天后,React Native App 无法在 iOS 上启动

Detox react-native build 成功,“Detox 似乎无法连接到测试应用程序!” (iOS)

react-native iOS 发布版本无法启动

react-native ios“无法连接到开发服务器”和“__fbBatchedBridge 未定义”错误