wait_fences:未能收到回复:10004003 错误 - UIAlertView 与 UIActivityIndi​​catorView

Posted

技术标签:

【中文标题】wait_fences:未能收到回复:10004003 错误 - UIAlertView 与 UIActivityIndi​​catorView【英文标题】:wait_fences: failed to receive reply: 10004003 error - UIAlertView with UIActivityIndicatorView 【发布时间】:2011-03-02 01:36:11 【问题描述】:

我希望squeezemylime's question 的答案能解决我的问题,因为我也有一个没有文本字段的 UIAlertView,但效果不佳。我放置了一个 UIActivityIndi​​catorView 动画而不是文本字段,并且在创建时没有使用任何按钮。因此,警报会以编程方式被解除,因此委托方法会破坏警报上的微调器和警报本身(在运行期间一直保留)。

所以,我在调试器中也收到了这些 wait_fences: 消息,与此同时我被冻结了,因为我尝试的一切,包括这个线程中的有价值的提示都不会杀死这些 wait_fences: 消息。 GDB 和设备上都没有崩溃。

通过代码,我意识到 wait_fences: 消息直接显示在 dismissWithClickedButtonIndex:0 animated:NO 的委托释放有问题的 UIAlertView 之后。然后我认为它可能类似于 squeezemylime 的延迟技术并这样做了:

[theAlertObj performSelector:@selector(dismissWithClickedButtonIndex:animated:) withObject:nil afterDelay:0.1];

wait_fences: 消息消失了!但是无法满足对 dismissWithClickedButtonIndex:animated: 的调用,因为它缺少第二个参数 animated:NO - 所以我尝试了一些更改来实现调用:

- (void)dismissNamedAlert: (UIAlertView*)alert

    [alert dismissWithClickedButtonIndex:0 animated:NO];


- (void)postProcessLogicalWork: (id)arg

    [self performSelector:@selector(dismissNamedAlert:) withObject:theAlertObj afterDelay:0.2];
    ...

无赖:wait_fences: 消息再次出现!我想我不能回到工作解决方案的方法调用不满意 - 那怎么办?和/或在什么情况下会出现这些 wait_fences: 消息?

简而言之,我的工作流程是这样的:

viewDidAppear 调用它的 super,然后调用我的数据更新器 afterDelay:0.3f 数据更新程序为更新过程调用一个新线程 新线程在主线程上创建并显示带有微调器的警报,然后运行几秒钟 新线程在主线程上执行完成过程并完成 完成者按上述方式解除警报(使用 wait_fences:)并在需要时刷新显示 剩下的就是空闲时间……暂时

有什么想法吗?

【问题讨论】:

对不起,我希望能帮助你。我遇到了一个非常相似的问题,在dismissWithClickedButtonIndex 之后立即收到相同的错误消息:但我还没有弄清楚如何解决这个问题。 很多人说这是 ios 框架中的一个错误(顺便说一句,即使现在我在我的设备上运行的 4.3.3 仍然存在)。我没有采取任何措施来保护它,而且我的应用程序自一个月以来就在 AppStore 中 - 所以我认为 Apple 也不在乎...... 【参考方案1】:

我不知道事情发生的原因,但通过更改这一行来解决这个问题

[alert dismissWithClickedButtonIndex:0 animated:NO];

到这个

[alert dismissWithClickedButtonIndex:0 animated:YES];

【讨论】:

我已经按照你的建议尝试过了 - 但对我来说它不起作用:-( ...使用 iOS 4.3.3 顺便说一句。

以上是关于wait_fences:未能收到回复:10004003 错误 - UIAlertView 与 UIActivityIndi​​catorView的主要内容,如果未能解决你的问题,请参考以下文章

wait_fences:未能收到回复:10004003 - viewDidLoad

UIAlertView wait_fences:未能收到回复:10004003

wait_fences:未能收到回复:10004003(仅在 iPad 上)

wait_fences:未能收到回复:10004003 错误 - UIAlertView 与 UIActivityIndi​​catorView

如何调试 wait_fences 错误

UIAlertView、NSURLConnection 和 wait_fences