Подтвердить что ты не робот

Предотвратить исходные файлы из контейнера Sandbox приложения OS X для изменения с помощью перетаскивания или расширения Share?

У меня есть тип обуви (в отличие от основанного на документе) приложения OS X, в котором хранятся изображения в контейнере песочницы приложений.

Эти изображения могут совместно использоваться с помощью расширений Share (в форме NSURL) или экспортироваться с помощью перетаскивания.

Когда изображение используется совместно с редактором изображений (например, Acorn предлагает расширение для общего доступа) или отбрасывается в редакторе изображений, редактор изображений открывает файл из моего контейнера песочницы и теперь может изменять, переименовывать или удалять этот файл, что может привести к разным непостоянствам в моем приложении.

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

Итак, как я могу предотвратить, чтобы кто-то мог изменять файлы в моем контейнере для песочницы, предлагая им перетаскивание и разделять расширения?

  • Я пытался не использовать NSURL, но NSImages, но многие Share Extensions не работают с NSImages, поэтому это не очень хороший вариант.
  • Можно ли писать файлы защиты в песочнице?
  • Должен ли я всегда копировать изображение во временное место, прежде чем предлагать его для совместного использования или перетаскивания (может быть медленным для больших изображений?)

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

4b9b3361

Ответ 1

Создайте закладку в NSURL.

Таким образом, пользователь может переименовать, переместить и удалить файл, но вы его заметили и знаете новое местоположение и имя и все еще можете получить доступ к файлу. Должен работать, даже если он находится вне вашей песочницы. Таким образом, вы можете справиться с этим. https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/

Это одно из преимуществ работы с NSURL, а не с простой строкой пути.