Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c GCD在iOS5中崩溃_Objective C_Ios_Grand Central Dispatch - Fatal编程技术网

Objective c GCD在iOS5中崩溃

Objective c GCD在iOS5中崩溃,objective-c,ios,grand-central-dispatch,Objective C,Ios,Grand Central Dispatch,我正在开发一个静态库。 我在库中使用反向身份验证,使用的源代码来自。 在这个库中,以下代码在iOS5中崩溃,但在iOS6中工作正常 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) 如果我们按以下方式更改行,那么它在所有OS版本中都可以正常工作 dispatch_async(dispatch_get_main_queue() 这种改变在任何情况下都有效吗?还是会产生任何问题? 请提供建议,

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

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
如果我们按以下方式更改行,那么它在所有OS版本中都可以正常工作

dispatch_async(dispatch_get_main_queue()
这种改变在任何情况下都有效吗?还是会产生任何问题?
请提供建议,谢谢。

如果看不到您的代码,很难判断,但这听起来像是您在没有GCD块的情况下向块之前创建的对象发送消息,而该对象在块执行时已不存在。我建议将其设置为属性以保留它,这样ARC就不会收集它


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

您会遇到什么错误?崩溃日志?谢谢你的回复@mprivat。它在iOS 5模拟器中抛出“objc_msgSend”,我没有iOS 5设备,但在iOS 6设备中工作正常。我也有同样的问题,但我很笨。我已将我的应用程序的部署目标设置为6.0。将其改回5.0允许我保留相同的“dispatch\u async”代码行,并在两个操作系统上工作。