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

(2)运行结果如下:
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)