iphone - 试图从主线程或 Web 线程以外的线程获取 Web 锁。现在崩溃

标签 iphone objective-c ios cocoa-touch

bool _WebTryThreadLock(bool), 0x8053ce0:试图从主线程或网络线程以外的线程获取网络锁。这可能是从辅助线程调用 UIKit 的结果。现在崩溃...

我遇到了这个错误。

今天我第一次发现这个错误,显示密码对话框并且顶部显示警报 View ,在显示 View 时直到 viewWillAppear 才应该发生。当我前几天开发这个时,这一切似乎都运行良好。不确定线程​​锁丢失的原因以及如何实现它?

最佳答案

This may be a result of calling to UIKit from a secondary thread. Crashing now...

...据我所知,这正是您正在做的。您正在从主线程以外的线程调用 [alertProgress dismissWithClickedButtonIndex:0 animated:YES];,这是一种 UIKit 方法,这是不允许的。

如果您不能使用 GCD,要非常回调主线程的直接方法,请查看 DDFoundation .

在这种情况下,您的代码只会更改为执行;

[[alertProgress dd_invokeOnMainThread] dismissWithClickedButtonIndex:0 
                                       animated:YES]; 

关于iphone - 试图从主线程或 Web 线程以外的线程获取 Web 锁。现在崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9679754/

相关文章:

iOS SDK-如何获取 viewController 的 segue 标识符?

ios - objective-c : How to create different shades of a color

ios - UIView 不会以编程方式移动

iphone - 仍在使用 iOS 3.x 的用户百分比?我应该打扰吗?

iphone - UILabel和Appstore规则中的表情符号用法

iphone - 通过导航栏按钮的操作在 UITableview 中设置删除按钮

ios - IOS中的透明上下文?

ios - 不使用 xcode 8 在苹果商店中显示构建

ios - Xcode 8 Beta 6 : storeViewController. 加载产品

ios - Flutter 版本构建从终端失败