[MAC OS] NSOpenPanel 使用

简介:

Mac OS开启沙盒之后,文件的保存会涉及到一个权限问题。如下图,在Capabilities中,可以勾选的权限一共有5种。

User Selected File 必须勾选,否则 NSOpenPanel 无法起来。

NSSavePanel

需要保存文档到本地,因为不是Pictures、Music或者Movies,不能使用这几个权限,因此使用NSSavePanel让用户自定义保存路径

NSOpenPanel

这个类继承与NSSavePanel,它可以获取选中的文件夹权限,可以在这个文件夹下,读写文件,追加文件路径进行读写,都可以。在需要一次写入多个文件的时候,应该使用NSOpenPanel这个类。如果只进行单个文件读写操作而言,那么可以使用NSSavePanel,这个类的权限,仅限于当前Panel选中的文件。总结起来就是:NSSavePanel权限针对与选中的单个文件操作,NSOpenPanel权限要大一些,可以拥有文件夹的权限。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@IBAction  func  showGrantPermissionPanel ( _  sender Any ) {
        print ( "showGrantPermissionPanel" )
        let  openPanel  NSOpenPanel ();
        openPanel . allowsMultipleSelection  false ;
        openPanel . canChooseDirectories  true ;
        openPanel . canChooseFiles  true ;
        openPanel . message  "本应用需要访问该目录,请点击允许按钮"
        openPanel . prompt  "允许"
        openPanel . directoryURL  URL . init ( string NSHomeDirectory ());
        openPanel . begin ( completionHandler : { ( result in
            if  result  ==  NSModalResponseOK  {
                print ( "ddsskj" )
            }
        })
    }

  

分类:  Mac OS
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/6899775.html如需转载请自行联系原作者

demoblog
相关文章
|
21天前
|
iOS开发 MacOS
MAC OS更新系统后IDEA中的SVN报错无法使用
MAC OS更新系统后IDEA中的SVN报错无法使用
|
7天前
|
安全 iOS开发 MacOS
Mac pro升级 MacOS 10.15 Catalina 后根目录是只读的, Recovery OS不能访问
Mac pro升级 MacOS 10.15 Catalina 后根目录是只读的, Recovery OS不能访问
12 0
|
21天前
|
Unix Shell Linux
史上最全:MAC OS X 命令行汇总
史上最全:MAC OS X 命令行汇总
24 0
|
21天前
|
安全 Java iOS开发
MAC OS X 硬盘安装详细分解教程
MAC OS X 硬盘安装详细分解教程
22 1
|
21天前
|
IDE 5G 开发工具
HP4230s笔记本安装mac os总结(原创)
HP4230s笔记本安装mac os总结(原创)
13 0
|
21天前
|
编解码 Oracle iOS开发
VirtualBox虚拟机安装Mac OS X Lion系统详解
VirtualBox虚拟机安装Mac OS X Lion系统详解
38 1
|
消息中间件 Dubbo 中间件
在 Docker 中运行 Mac OS 是什么样的体验?
在 Docker 中运行 Mac OS 是什么样的体验?
|
9月前
|
前端开发 安全 Go
在Mac OS X上运行Go语言的GUI程序
在Mac OS X上运行Go语言的GUI程序
234 3
|
iOS开发 MacOS
MAC OS更新系统后IDEA中的SVN报错无法使用
IntelliJ IDEA无法正常使用SVN 报Cannot run program “svn” (in directory “/XXXX/XXXX/XXXX/XXX”): error=2错误! 解决方法来了!
1069 0
|
Oracle Java 关系型数据库
珠联壁合地设天造|M1 Mac os(Apple Silicon)基于vscode(arm64)配置搭建Java开发环境(集成web框架Springboot)
也许有人从未听说过Python,但是不会有人没听说过Java,它作为一个拥有悠久历史的老牌编程语言,常年雄踞TIOBE编程语言榜首,其顶尖的霸主地位不可撼动,而M1 mac业已发布了一段时间,作为跨时代的顶级芯片系统,这两大巨头能否珠联璧合,让开发者们猛虎添翼、更上层楼?本次我们尝试在M1 mac系统中搭建Java开发环境,并且集成目前Web开发领域红的发紫的Springboot框架,另外,谁说玩儿Java就必须得用Eclipse或者IntelliJ IDEA?我们就骄傲地使用Vscode。
珠联壁合地设天造|M1 Mac os(Apple Silicon)基于vscode(arm64)配置搭建Java开发环境(集成web框架Springboot)