2016-02-24 2 views
0

У меня есть приложение для песочницы Cocoa. Он имеет одно окно с несколькими вкладками. Я не использую NSDocument, но это приложение, которое может редактировать несколько «документов». Когда приложение закрывается, я сохраняю список открытых документов. Когда я перезапускаю приложения, я пытаюсь их повторно открыть в вкладках.Какао-песочница - открывать файлы при перезапуске приложения

Это прекрасно работает, когда все файлы документов находятся в каталоге изолированных документов. Тем не менее, пользователи также могут открывать файлы вне песочницы. Когда приложение перезапускается, эти файлы не могут быть открыты из-за разрешений для песочницы, файл не читается. Я понимаю, что обычно пользователь должен выбрать файл из песочницы из открытого диалога.

Файлы находятся в списке «Недавние файлы» и могут быть открыты таким образом.

Должен быть способ сделать это, поскольку именно так работают большинство текстовых редакторов. Есть ли магическое право или вызов, которого я не хватает?

ответ

2

Вам нужны закладки с защитой от безопасности.

Проверьте Security-Scoped Bookmarks and Persistent Resource Access раздел Apple App Sandbox Design Guide. Места

доступ вашего приложения к файловой системе вне контейнера, а предоставляется приложение путем пользовательского намерения, например, через Powerbox-автоматически не сохраняются при запусках приложения или системы перезагружается. Когда ваше приложение снова откроется, вы должны начать все заново.

Начиная с OS X v10.7.3, вы можете сохранить доступ к ресурсам файловой системы на , используя механизм безопасности, известный как закладки с защитой от безопасности, , который сохраняет намерение пользователя.

Я бы обобщил его здесь, но приведенная выше ссылка содержит все, что вам нужно.

+0

Это сделало трюк. Большое спасибо, сэр. – btschumy

Смежные вопросы