返回 导航

Swift

hangge.com

Swift - 实现Mac OS下将文件保存到桌面(读写任意路径文件)

作者:hangge | 2018-11-05 08:10
    我之前写过一篇文章介绍如何使用 Swift 进行文件、文件夹操作(点击查看)。出于安全限制,如果开发的是 iOS 应用,那么我们只能对沙盒内文件进行操作。如果是 Mac OS 桌面应用的话,则可以读写指定的任意路径文件。下面通过样例进行演示。

1,设置沙盒权限

(1)默认情况下,MacOS 应用创建完毕后,对于指定路径的文件只有读取权限,没有写入权限。
(2)我们在项目设置 -> Capabilities 中,将 App Sandbox 设置为 OFF

2,创建文件样例

(1)下面我们在程序启动后,自动在系统桌面上创建一个文本文件(test.txt
import Cocoa

class ViewController: NSViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        //在桌面上创建一个文件
        let manager = FileManager.default
        let urlForDocument = manager.urls( for: .desktopDirectory,
                                           in:.userDomainMask)
        let url = urlForDocument[0]
        createFile(name:"test.txt", fileBaseUrl: url)
    }
    
    //根据文件名和路径创建文件
    func createFile(name:String, fileBaseUrl:URL){
        let manager = FileManager.default
        
        let file = fileBaseUrl.appendingPathComponent(name)
        print("文件: \(file)")
        let exist = manager.fileExists(atPath: file.path)
        if !exist {
            //在文件中随便写入一些内容
            let data = Data(base64Encoded:"aGVsbG8gd29ybGQ=" ,options:.ignoreUnknownCharacters)
            let createSuccess = manager.createFile(atPath: file.path,contents:data,attributes:nil)
            print("文件创建结果: \(createSuccess)")
        }
    }
}

(2)运行结果如下:
评论

全部评论(0)

回到顶部