我需要在基于文档的照片编辑器应用程序中访问sidecar XMP文件。 图像文件是文档,当用户打开并保存图像文档时,我需要访问sidecar XMP文件。
是否可以在基于沙盒的基于文档的应用程序中访问sidecar文件(例如XMP)?
我知道默认情况下这是不可能的,但允许这样做的最小临时安全例外是什么?
有没有使用临时例外的解决方法?
请注意,不可能保证图像文件的文档范围书签到侧面车(因为它们可能由不同平台上的其他应用程序创建),因此该解决方案将无效。
答案 0 :(得分:2)
虽然这个问题很老,但我想我会分享我的解决方案。您可以在应用程序info.plist中的CFBundleDocumentTypes部分添加一个条目,并将NSIsRelatedItemType设置为true。然后,您的沙盒应用程序将能够以相同的名称打开用户授予的任何文件,但具有您列出的扩展名。以下是xmp sidecar文件的示例:
<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>