【发布时间】:2017-10-15 16:22:43
【问题描述】:
我有一个在 iOS 手机上运行的 Cordova 应用程序。我正在尝试将此应用程序的更新发送到 App Store,但被拒绝。首先,它被拒绝了,因为info.plist 包含带有密钥NSBluetoothPeripheralUsageDescription 的行,并且此功能从未在我的应用程序中使用。为了解决这个问题,我从info.plist 中删除了这一行,并从xCode 中的Linked Frameworks and Libraries 中删除了相应的框架(框架CoreBluetooth.framework 和NSBluetoothPeripheralUsageDescription 行是由Cordova Diagnostic Plugin 添加的),如图所示以下:
但是现在我收到一封来自 iTunes Connect 的电子邮件,内容如下:
缺少 Info.plist 密钥 - 此应用尝试访问隐私敏感信息 没有使用说明的数据。应用的 Info.plist 必须包含 带有字符串值的 NSBluetoothPeripheralUsageDescription 键 向用户解释应用如何使用这些数据。
但我从 xCode 项目中删除了 CoreBluetooth.framework...
我的问题是:我需要从另一个地方删除这个框架吗?是否有其他框架能够使用蓝牙导致此问题?
感谢您的帮助。
【问题讨论】:
-
是的,框架可能存在,但
NSBluetoothPeripheralUsageDescription不存在。 -
只需添加描述,你应该很好。
-
可能任何其他第三方框架正在使用它。如果您使用的是 cocoapods,您可以检查您的 pod 的 pod 规格,看看是否需要核心蓝牙。
-
@Bilal 不,我没有使用 Cocoa Pods。这是一个科尔多瓦项目。您知道是否有一种简单的方法可以发现第三方框架是否正在使用蓝牙?或者,如果某些 Cordova 插件正在添加一些可能需要蓝牙的框架?谢谢。
-
我不知道有什么其他方法.....这是一个使用蓝牙的 Cordova 插件Cordova Bluetooth LE 插件,请确保您没有使用它。跨度>