Mar*_*ark 10 cocoa xpc sandbox appstore-sandbox
我有一个简单的Cocoa图像预览应用程序.用户使用a选择文件NSOpenPanel,应用程序使用Quick Look API生成预览图像.
我想将预览生成移动到单独的XPC服务中.如果没有应用程序沙盒,一切正常,但在为父应用程序和XPC服务启用应用程序沙盒后,XPC服务将被拒绝对用户所选文件的读取权限.
允许父应用程序读取文件(因为它是通过NSOpenPanel选择的).
如何将用户选择的文件的"文件读取"权限从父应用程序传输到XPC进程,以便XPC进程可以读取文件以生成预览?
我的XPC服务通过其权利请求文件读取访问,我将以下密钥添加到XPC服务Info.plist,但这没有帮助:
JoinExistingSession = YES
Run Code Online (Sandbox Code Playgroud)
Ole*_*ann 11
我不是100%肯定,但我认为Apple建议NSFileHandle在这种情况下传递给XPC进程.这样,XPC进程可以访问文件的内容,但不需要知道文件的URL.
编辑:Apple开发者论坛中的这个主题很有帮助.建议为文件的URL创建一个普通(非安全范围)书签.然后可以将该书签传递给XPC进程并由其访问.
| 归档时间: |
|
| 查看次数: |
2658 次 |
| 最近记录: |