我正在实现NSApplicationDelegate的应用程序: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?
发布于 2015-11-11 07:25:32
结果发现问题是由于NSURL的创建方式造成的。当然,这应该使用fileURL方法。
https://stackoverflow.com/questions/33508195
复制相似问题