3

在我的应用程序的最开始,我尝试加载每个 UIDocument 以稍微预览它们的内容。这在大多数情况下都非常有效,但有时我在加载 UIDocument 后会立即崩溃。我的问题是我不知道如何解释崩溃。我什至不确定它是否与 UIDocument 的处理有关(线程 6 和 7 与 UIDoc 有关,但线程 8 似乎导致了崩溃)。

如果有人可以帮助我解释这一点,我将非常感激:

在此处输入图像描述

我在所有异常上都有断点,但调试器不会停在特定的代码行。

4

1 回答 1

0

我有同样的问题。仅在我们的一个测试设备上很容易重现,读取 iCloud 文档。重新安装应用程序不会影响该错误。

我正在使用 NSMetadataQuery 来获取文件 URL。我的 NSMetadataQueryDidFinishGatheringNotification 接收器如下所示:

- (void)queryDidFinishGathering:(NSNotification *)notification
{
    NSMetadataQuery *query = [notification object];
    [query disableUpdates];
    [query stopQuery]; //  <--- This was the problem

    NSMetadataItem *item = [query resultAtIndex:0];
    NSURL *url = [item valueForAttribute:NSMetadataItemURLKey];
    UIDocument *doc = [[CustomDocument alloc] initWithFileURL:url];
    [doc openWithCompletionHandler:^(BOOL success) {
         // EXC_BAD_ACCESS before completion block is called :'(
    }];

    [query enableUpdates];
}

删除stopQuery呼叫修复了一切!

于 2013-05-06T22:29:12.923 回答