UIDocument openWithCompletionHandler未在iOS设备上完成

Jus*_*son 10 iphone cocoa-touch ios objective-c-blocks uimanageddocument

我正在尝试使用打开托管文档 openWithCompletionHandler:

我遇到的问题是它在模拟器上工作正常,但是当我在iPhone 4上测试它时,完成处理程序永远不会完成.代码如下所示:

[theManagedDocument openWithCompletionHandler:^(BOOL success){
    if(success) [self documentIsReady];
    if(!success) NSLog(@"Couldn't Open Document");
}];
Run Code Online (Sandbox Code Playgroud)

这在模拟器上工作正常,我接到documentIsReady电话(如果错误,则"无法打开文档").但是在iPhone 4上它永远不会运行CompletionHandler块.我已经在整个块中放置了断点(在两个if语句之前和之后)并且没有任何东西被调用.控制台上没有"无法打开文档",没有调用documentIsReady.

我还必须提一下,这似乎是我第一次在iPhone上运行应用程序,它将正常工作.我也将它封装在带有fileExistsAtPath:调用的if语句中.它正在进入if语句并且调用了openWithCompletionHandler:,但是完成块永远不会被触发.

我使用的是iOS 5.1和Xcode 4.3.2.

mur*_*rat 8

我在使用iCloud共享数据的应用程序中遇到了同样的问题.我意识到openWithCompletionHandler:只是等待并且如果文档被暂停的应用程序保持打开,则永远不会调用完成处理程序.如果是这种情况,则应确保在应用程序转到后台时关闭文档.


Dav*_*oss 7

在我的情况下,关闭我的iPad并重新启动它"修复"这个问题.祝好运!