(большая) ошибка в том, что вы разыгрываете очень специфический тип
static let type: FileAttributeKey
Соответствующим значением является String object
к очень неопределенному типу AnyObject
. AnyObject
нельзя сравнивать.
Приведите тип к String
и сравните с rawValue FileAttributeType
if attributes[FileAttributeKey.type] as? String == FileAttributeType.typeSymbolicLink.rawValue {
Примечание: настоятельно рекомендуется всегда использовать URL-адреса, а не строковые пути и получать атрибуты файла непосредственно из URL
let url = URL(fileURLWithPath: "/Users/AUSER/Desktop/Downloads")
if let resourceValues = try? url.resourceValues(forKeys: [.fileResourceTypeKey]),
resourceValues.fileResourceType! == .symbolicLink {
print("YESSS \(resourceValues.fileResourceType!.rawValue)")
}