我试图使用openWithCompletionHandler打开一个托管文档:
我遇到的问题是它在模拟器上工作正常,但是当我在iPhone 4上测试完成处理程序时,从未完成.代码如下所示:
[theManagedDocument openWithCompletionHandler:^(BOOL success){ if(success) [self documentIsReady]; if(!success) NSLog(@"Couldn't Open Document"); }];
这在模拟器上工作正常,我得到documentIsReady调用(或者如果错误,则“无法打开文档”).但是在iPhone 4上,它不会运行CompletionHandler块.我把断点全部通过块(在if语句之前和之后),没有任何东西被调用.控制台上没有“无法打开文档”,不调用documentIsReady.
我还必须提到,这似乎是我第一次在iPhone上运行应用程序,它将正常工作.我也将它封装在一个带有fileExistsAtPath:call的if语句中.它正在进入if语句,并调用openWithCompletionHandler :,但完成块从不被触发.
我正在使用iOS 5.1和Xcode 4.3.2.
解决方法
在我的情况下,关闭我的iPad并重新启动它“修复”这个问题.祝你好运!