升级到XCode 8打破了我在iOS 6设备上构建的能力?

时间:2016-10-23 04:40:21

标签: ios xcode

我最近升级到XCode 8,发现我不能再使用iOS 6在我的iPhone5上构建...幸运的是我保留了XCode 7,但显然自从我安装XCode 8后,我不知何故丢失了一些链接用于发送队列符号?当我尝试在iOS 6上使用XCode 7运行我的应用程序时,我现在立即崩溃:

dyld: lazy symbol binding failed: Symbol not found: _dispatch_queue_attr_make_with_qos_class
Referenced from: /var/mobile/Applications/0FE3B5A4-00AA-46F3-80A7-8EA45C64BEAE/myapp.app/myapp
Expected in: /usr/lib/libSystem.B.dylib

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

阅读dispatch_queue_attr_make_with_qos_class的文档。请注意添加它时 - iOS 8.在iOS 7或6下运行时,必须防止使用该功能。

SDK Compatibility Guide中所述,您可以这样做:

if (dispatch_queue_attr_make_with_qos_class != NULL) {
    // use dispatch_queue_attr_make_with_qos_class as needed
} else {
    // The function doesn't exist for this device, do something else
}