作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建沙盒 OS X 应用程序(OS X 10.10.5、Xcode 6.4)。在执行过程中我打开 NSOpenPanel 对象。然后我运行下一个片段:
NSString* s=[@"~" stringByExpandingTildeInPath];
NSOpenPanel* panel = [NSOpenPanel openPanel];
[panel setCanChooseDirectories:YES];
[panel setCanChooseFiles:NO];
NSURL* url=[NSURL fileURLWithPath:s];
if(url){
[panel setDirectoryURL:url];
}
[panel setAllowsMultipleSelection:YES];
[panel beginSheetModalForWindow:[self.outlineView window]completionHandler:^(NSInteger result) {}
我的期望是该面板在目录 /Users/xxx/Library/Containers/com.123456.App/ 中打开
面板会在目录/Users/xxx中打开
应用程序实际上已构建并部署到目录/Users/xxx/Library/Containers/com.123456.App/Data/
在调试时我观察到这一点:
if(url){
[panel setDirectoryURL:url];
}
url包含正确的值:file:///Users/xxx/Library/Containers/com.123456.App/Data/
有什么想法吗?
最佳答案
您想要在应用容器中使用 NSOpenPanel
是否有原因?该容器用于存储应用程序的内部数据/支持文件(用户通常不需要访问)。 NSOpenPanel
/NSSavePanel
用于用户从自己的文档中选择文件/目录,该文件/目录不会位于容器中。
此外,请考虑使用NSFileManager
URLsForDirectory:inDomains:
获取所需路径的 NSURL。
关于cocoa - 沙盒应用程序中的 NSOpenPanel 忽略提供的目录 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32380378/
我是一名优秀的程序员,十分优秀!