在iOS 12下运行良好的应用程序在iOS 13下启动时崩溃。线程“ com.apple.root.default-qos”抛出SIGABRT。我在堆栈跟踪中找不到任何有用的信息。
答案 0 :(得分:1)
在iOS 13中,对蓝牙权限提出了新要求。即使您的应用程序不使用蓝牙,您也可以包括一个包含对核心蓝牙库的引用的库。在这种情况下,即使您不需要使用蓝牙的权限,您也需要询问您的用户使用蓝牙的权限,否则您的应用会崩溃。
只需将蓝牙权限的使用说明添加到Info.plist文件中。密钥是NSBluetoothAlwaysUsageDescription。我还定义了NSBluetoothPeripheralUsageDescription以便与iOS12及更低版本向后兼容。在XCode中看起来像这样:
请注意,如果您不需要蓝牙许可,则用户可以选择“不允许”,让您感到更舒适。如您在上面看到的,实际上我在使用说明中向用户明确了这一点。