我正在实现 NSApplicationDelegate 的 application:openFiles 以获得特定文档的一些自定义行为。不过,对于某些文档,我想要默认行为(只是打开和显示它们)。因此,在对文档进行排序后,我为每个文档调用:
[[NSDocumentController sharedDocumentController] openDocumentWithContentsOfURL:[NSURL URLWithString:camDoc] display:YES completionHandler:^(NSDocument *document, BOOL alreadyOpen, NSError *error){
NSLog(@"%@",document);
}];
在控制台中记录了以下错误:
*** setObjectForKey: key cannot be nil
永远不会调用完成处理程序。如果我注释掉完整的 openFiles 方法,则文档可以正常打开,因此 NSDocument 类似乎已正确实现。
我尝试暂时关闭沙盒,因为委托方法接收 NSStrings 而不是 URL,所以我预计这可能是问题所在。那没有帮助。
这里出了什么问题?
额外问题:我怎样才能让应用程序(从 Finder)打开安全范围的 URL?