GCD在iOS5中崩溃

时间:2013-01-07 14:04:48

标签: objective-c ios grand-central-dispatch

我正在开发一个静态库。 我使用来自here的源代码在库中使用反向Auth。 在这个库中,iOS5中的以下崩溃,但在iOS6中工作正常。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)

如果我们按如下方式更改该行,则在所有操作系统版本中都可以正常工作。

dispatch_async(dispatch_get_main_queue()

此更改是否适用于所有情况,还是会产生任何问题? 请指教,谢谢。

1 个答案:

答案 0 :(得分:2)

如果没有能够看到你的代码,很难分辨,但这听起来就像你在没有GCD块的情况下向块之前创建的对象发送消息,并且在块执行时不再存在。我建议将其设置为保留它的属性,以便ARC不会收集它。

iOS版本之间的差异可能是由于模拟器和设备之间的差异(您说您在设备上运行iOS 6版本,在模拟器上运行5)。