2013-02-08 4 views
1

Мне нужно получить доступ к файлам XMP-файлов sidecar в приложении для редактирования фотографий на основе документов. Файлы изображений - это документы, и мне нужно получить доступ к файлу XMP sidecar, когда пользователь открывает и сохраняет документ изображения.Доступ к файлам sidecar в приложении с песочницей Mac

Возможно ли получить доступ к файлам колясок (например, XMP) в изолированном приложении на основе документов?

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

Есть ли обходной путь для этого без использования временного исключения?

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

ответ

2

Хотя этот вопрос старый, я думал, что поделюсь своим решением. Вы можете добавить запись в свой раздел CFBundleDocumentTypes в своих приложениях info.plist с NSIsRelatedItemType, установленным в true. Затем ваше изолированное приложение сможет открыть любой файл, который пользователь дает разрешение с тем же именем, но имеет список, который вы перечисляете. Ниже приведен пример файла sipecar xmp:

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeExtensions</key> 
     <array> 
      <string>xmp</string> 
     </array> 
     <key>CFBundleTypeName</key> 
     <string>XMP sidecar</string> 
     <key>CFBundleTypeRole</key> 
     <string>None</string> 
     <key>NSIsRelatedItemType</key> 
     <true/> 
    </dict> 
</array>