Swift: SandBoxアプリでHomeDirectoryを取得
2815 ワード
SandBoxアプリだとNSHomeDirectory()
では本来のホームディレクトリのパスが取得できない。
代わりにgetpwuid(getuid())
を使うと取得できる。
extension FileManager {
static var homeDirectoryURL: URL? {
guard let pw = getpwuid(getuid()), let home = pw.pointee.pw_dir else { return nil }
let homePath = self.default.string(withFileSystemRepresentation: home,
length: strlen(home))
return URL(fileURLWithPath: homePath)
}
}
let home = FileManager.homeDirectoryURL
同様の結論に至っている記事
App Sandboxの中のmacOSアプリから本当のホームディレクトリを知る
Author And Source
この問題について(Swift: SandBoxアプリでHomeDirectoryを取得), 我々は、より多くの情報をここで見つけました https://zenn.dev/kyome/articles/f51823f54f12d9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol