Я использую copyItemAtPath:toPath:error:
для операции копирования. Из документации:
Символические ссылки не просматриваются, но сами копируются
но этот метод перебирает символическую ссылку и копирует оригинальное содержимое для символических ссылок, созданных ln -s
(в 10.5).
kMDItemFSFinderFlags
равно нулю для псевдонима, созданного ln -s
.
attributesOfItemAtPath:error: returns NSFileType = NSFileTypeSymbolicLink
С В чем разница между псевдонимом и ссылкой?
Псевдоним содержит две части информации: уникальный идентификатор
файл, на который он ссылается, а также путь и имя файла, на который он ссылается
к.
Если вы переименуете или переместите файл, а затем создадите новый файл с путем
и имя файла, который изначально был у файла, затем любой псевдоним, связанный с
к исходному файлу теперь ссылки на новый файл.
Однако, если вы переименуете или переместите файл без его замены, а затем
вызвать псевдоним, псевдоним обновляется, чтобы указать на новый путь и
имя файла, используя для этого уникальный идентификатор.
Символическая ссылка, с другой стороны, не содержит уникального
идентификатор файла, и будет выглядеть как поврежденный, если файл
переименован или перемещен и не заменен файлом с тем же путем и
имя файла.
когда я создаю псевдоним, используя
tell application "Finder"
make new alias at POSIX file "/Users/test/" to POSIX file "/Applications/Safari.app"
end tell
copyItemAtPath:toPath:error:
работает нормально и kMDItemFSFinderFlags = 33792
.
attributesOfItemAtPath:error: returns NSFileType = NSFileTypeRegular;
Может кто-нибудь помочь мне?