Я пытаюсь получить права доступа posix для файла, но когда я использую ключ FileAttributeKey.posixPermissions
(первоначально NSFilePosixPermissions
) для получения числового значения разрешений posix, он возвращает 511 (-r-x--x--x)
, но когда я использую stat -f %A /path/to/file
в Терминале он вернул 777 (-rwxrwxrwx)
, что является правильным (я использовал chmod 777 /path/to/file
, поэтому должно быть 777 (-rwxrwxrwx)
).
Это мой код, использующий FileAttributeKey.posixPermissions
(Swift 4):
var numericalValue = "000"
if let attributes = try? FileManager.default.attributesOfItem(atPath: "/path/to/file") {
if let posixPermissions = attributes[.posixPermissions] as? NSNumber {
numericalValue = posixPermissions.stringValue
}
}
Я не знаю, что происходит, мне интересно, чем значение, возвращаемое с FileAttributeKey.posixPermissions
, отличается от вывода stat -f %A /path/to/file
или stat -x /path/to/file
, может кто-нибудь, пожалуйста, помогите мневыяснить?