Доступ к NSApplicationScriptsDirectory с помощью NSFileManager в изолированном приложении
У меня возникли некоторые проблемы с доступом к папке по умолчанию для сценариев приложения с использованием этого кода (что, я думаю, является правильным способом сделать это):
NSError* error;
NSURL* scriptsFolderURL = [[NSFileManager defaultManager] URLForDirectory: NSApplicationScriptsDirectory inDomain: NSUserDomainMask appropriateForURL: nil create: YES error: &error];
NSLog(@"%@", scriptsFolderURL);
NSLog(@"%@", [error description]);
Проблема в том, что оба NSLog вызывают print (null)
Это означает, что я ничего не получаю. Что я делаю неправильно?
2 ответа
Пока у вас есть действительный Info.plist
содержащий действительный идентификатор пакета приложений и работающий под OS X 10.8, это должно работать нормально.
Однако я могу подтвердить, что API нередко возвращает nil с ошибкой nil, что немного выходит за рамки контракта API.
Комментарий для NSApplicationScriptsDirectory выглядит следующим образом:
// расположение папки пользовательских скриптов для вызывающего приложения (~/Library/Application Scripts/code-signature-id)
Идентификатор подписи кода подсказывает, что вы ДОЛЖНЫ включить подпись кода. Как только вы включите подпись кода, вы получите правильный URL.