macOS sandbox 获取用户路径文件夹

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/

你可能感兴趣的:(macOS,macos,swift)