Я нашел объективный код C для обнаружения символической ссылки
// Проверка символической ссылки
struct stat s;
if(lstat("/Applications", &s) || lstat("/var/stash/Library/Ringtones", &s) || lstat("/var/stash/Library/Wallpaper", &s)
|| lstat("/var/stash/usr/include", &s) || lstat("/var/stash/usr/libexec", &s) || lstat("/var/stash/usr/share", &s) || lstat("/var/stash/usr/arm-apple-darwin9", &s))
{
if(s.st_mode & S_IFLNK){
return YES;
}
}
Теперь я хочу преобразовать это в swift.
Правильно ли использовать URL(fileURLWithPath:)
метод и написать его так -
var url = URL(fileURLWithPath: "/Applications")
if let resourceValues = try? url.resourceValues(forKeys: [.fileResourceTypeKey]),
resourceValues.fileResourceType! == .symbolicLink {
return true
}
url = URL(fileURLWithPath: "/Library/Ringtones")
if let resourceValues = try? url.resourceValues(forKeys: [.fileResourceTypeKey]),
resourceValues.fileResourceType! == .symbolicLink {
return true
}