com.apple.root.default-qos中的iOS 13 SIGABRT

时间:2019-12-17 20:13:33

标签: ios xcode

在iOS 12下运行良好的应用程序在iOS 13下启动时崩溃。线程“ com.apple.root.default-qos”抛出SIGABRT。我在堆栈跟踪中找不到任何有用的信息。

1 个答案:

答案 0 :(得分:1)

在iOS 13中,对蓝牙权限提出了新要求。即使您的应用程序不使用蓝牙,您也可以包括一个包含对核心蓝牙库的引用的库。在这种情况下,即使您不需要使用蓝牙的权限,您也需要询问您的用户使用蓝牙的权限,否则您的应用会崩溃。

只需将蓝牙权限的使用说明添加到Info.plist文件中。密钥是NSBluetoothAlwaysUsageDescription。我还定义了NSBluetoothPeripheralUsageDescription以便与iOS12及更低版本向后兼容。在XCode中看起来像这样:

enter image description here

请注意,如果您不需要蓝牙许可,则用户可以选择“不允许”,让您感到更舒适。如您在上面看到的,实际上我在使用说明中向用户明确了这一点。