Доступ к 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.

Другие вопросы по тегам