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