macOS sandbox 获取用户路径文件夹

macOS如果想上苹果市场发布的话,那么必须要遵守苹果的沙盒协议,这样应用存储默认都是沙盒路径隔离用户文件系统,那么这个时候需要访问 /User/xxx/Library 这种文件夹如何获取文件路径呢。

下面是一个简单例子swift5版本

func getAbsolutePath(path: String) -> String? {
    let pw = getpwuid(getuid())
    guard let home = pw?.pointee.pw_dir else {
        return nil
    }
    let homePath = FileManager.default.string(withFileSystemRepresentation: home, length: Int(strlen(home)))
    return "(homePath)/(path)"
}

使用的时候

let filepath = getAbsolutePath(path: "Library/Developer/")
// 就能获取用户相应的文件夹地址 /User/xxx/Library/Developer/

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注