我正在开发一个静态库。 我使用来自here的源代码在库中使用反向Auth。 在这个库中,iOS5中的以下崩溃,但在iOS6中工作正常。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
如果我们按如下方式更改该行,则在所有操作系统版本中都可以正常工作。
dispatch_async(dispatch_get_main_queue()
此更改是否适用于所有情况,还是会产生任何问题? 请指教,谢谢。
答案 0 :(得分:2)
如果没有能够看到你的代码,很难分辨,但这听起来就像你在没有GCD块的情况下向块之前创建的对象发送消息,并且在块执行时不再存在。我建议将其设置为保留它的属性,以便ARC不会收集它。
iOS版本之间的差异可能是由于模拟器和设备之间的差异(您说您在设备上运行iOS 6版本,在模拟器上运行5)。