我需要在基于文档的照片编辑器应用程序中访问 Sidecar XMP 文件。图像文件是文档,当用户打开并保存图像文档时,我需要访问边车 XMP 文件。
是否可以在基于文档的沙盒应用程序中访问附属文件(例如 XMP)?
我知道默认情况下这是不可能的,但是允许这样做所需的最小临时安全异常是什么?
在不使用临时异常的情况下是否有解决方法?
请注意,无法保证图像文件文档范围的书签到边车(因为它们可能由不同平台上的其他应用程序创建),因此此解决方案将不起作用。
我需要在基于文档的照片编辑器应用程序中访问 Sidecar XMP 文件。图像文件是文档,当用户打开并保存图像文档时,我需要访问边车 XMP 文件。
是否可以在基于文档的沙盒应用程序中访问附属文件(例如 XMP)?
我知道默认情况下这是不可能的,但是允许这样做所需的最小临时安全异常是什么?
在不使用临时异常的情况下是否有解决方法?
请注意,无法保证图像文件文档范围的书签到边车(因为它们可能由不同平台上的其他应用程序创建),因此此解决方案将不起作用。
虽然这个问题很老,但我想我会分享我的解决方案。您可以在应用程序 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>