Я использую новый NSURL
API данных закладок, представленный в OS X 10.6, чтобы сохранить «псевдоним» для ресурса файловой системы. Когда я использую
+[NSURL URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:]
для разрешения данных закладки, я получаю nil
, если файл больше не существует. Поскольку я не передаю NSURLBookmarkResolutionWithoutUI
в параметрах разрешения закладок, я ожидал получить диалоговое окно, подобное тому, которое отображается в Finder при открытии файла псевдонимов, который больше не разрешается (то есть диалоговое окно для отмены исправить псевдоним и т.д ...).
Есть ли способ заставить NSURL
автоматически запрашивать повторное подключение / устранение поврежденных данных закладки?
Данные закладки создаются с помощью:
NSError *err
NSData *bookmarkData = [myFileURL bookmarkDataWithOptions:NSURLBookmarkCreationSuitableForBookmarkFile
includingResourceValuesForKeys:nil
relativeToURL:nil
error:&err];
хотя я получаю тот же результат, если я использую 0
для параметров вместо NSURLBookmarkCreationSuitableForBookmarkFile
.
Я пытаюсь разрешить то же самое bookmarkData
с помощью:
BOOL stale;
NSError *err
NSURL *resolvedURL = [NSURL URLByResolvingBookmarkData:self.bookmarkData
options:0
relativeToURL:nil
bookmarkDataIsStale:&stale
error:&err];
Выполнение танца записи данных закладок в файл псевдонимов поиска и последующего разрешения URL-адреса путем чтения данных закладок из этого файла с последующим вышеописанным способом также не приводит к желаемому результату пользовательского интерфейса (хотя открытие файла псевдонимов в Finder создает желаемый диалог пользовательского интерфейса).