Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.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
Ios UIImagePickerController允许编辑挂起_Ios - Fatal编程技术网

Ios UIImagePickerController允许编辑挂起

Ios UIImagePickerController允许编辑挂起,ios,Ios,当我在图像选择器上将allowsdediting设置为YES时,在我点击“选择”后,控制器将挂起 虽然复制不一致,但当应用程序在后台忙着从服务器获取数据时,往往会发生这种情况。查看堆栈,PL似乎在后台保存图像时出现死锁 根本不调用委托。因此它不在处理程序的代码中 我添加了逻辑来消除关于内存不足的警告等,但我仍然会偶尔(对我来说太频繁)冻结 有人看到了吗?有已知的解决方法吗?我一直在谷歌上搜索,但没有用 相关线程堆栈如下所示: UI (thread 0): #0 0x312aec00 in m

当我在图像选择器上将
allowsdediting
设置为
YES
时,在我点击“选择”后,控制器将挂起

虽然复制不一致,但当应用程序在后台忙着从服务器获取数据时,往往会发生这种情况。查看堆栈,PL似乎在后台保存图像时出现死锁

根本不调用委托。因此它不在处理程序的代码中

我添加了逻辑来消除关于内存不足的警告等,但我仍然会偶尔(对我来说太频繁)冻结

有人看到了吗?有已知的解决方法吗?我一直在谷歌上搜索,但没有用

相关线程堆栈如下所示:

UI (thread 0):

#0  0x312aec00 in mach_msg_trap
#1  0x312ae75e in mach_msg
#2  0x329cb2be in __CFRunLoopServiceMachPort
#3  0x329cd568 in __CFRunLoopRun
#4  0x3295dec2 in CFRunLoopRunSpecific
#5  0x3295ddca in CFRunLoopRunInMode
#6  0x30c0541e in GSEventRunModal
#7  0x30c054ca in GSEventRun
#8  0x35bd3d68 in -[UIApplication _run]
#9  0x35bd1806 in UIApplicationMain
#10 0x00003a38 in main at main.m:9

Thread 6:

#0  0x312aec74 in **semaphore_timedwait_signal_trap**
#1  0x312aef4c in semaphore_timedwait_signal
#2  0x367f4818 in _pthread_cond_wait
#3  0x367f4a04 in pthread_cond_timedwait_relative_np
#4  0x325f4a54 in -[NSCondition waitUntilDate:]
#5  0x325ee9ba in -[NSConditionLock lockWhenCondition:beforeDate:]
#6  0x325ee906 in -[NSConditionLock lockWhenCondition:]
#7  0x31dc87a0 in -[PLImageLoadingThread _run]
#8  0x325d8388 in -[NSThread main]
#9  0x3264a5cc in __NSThread__main__
#10 0x367cd310 in _pthread_start

Thread 7:

#0  0x312b0d18 in __semwait_signal
#1  0x367f4866 in _pthread_cond_wait
#2  0x3679beb8 in pthread_cond_wait
#3  0x325e590a in -[NSCondition wait]
#4  0x325c781c in -[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:]
#5  0x32649b86 in -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:modes:]
#6  0x31e421fa in -[PLCropOverlay(PhotoSaving) _backgroundSavePhoto:]
#7  0x325d8388 in -[NSThread main]
#8  0x3264a5cc in __NSThread__main__
#9  0x367cd310 in _pthread_start

发布您遇到问题的代码。正如我所说的,委托没有被调用,因此我没有遇到特定代码的问题,但是在尝试访问主线程时照片库死锁,正如您在堆栈跟踪中看到的那样。这些都不在我的代码中。目前,我已经编写了自己的编辑代码,所以一切正常,但我仍然对死锁感到困惑。我想问题在于上面线程7中的performSelectorOnMainThread——我也设法在其他应用程序上重新编程,比如主线程繁忙时的Bump。请仅在遇到涉及PL作物覆盖的死锁时回答。