从命令行守护程​​序使用MLMediaLibrary时出现XPC错误

时间:2015-03-12 14:46:09

标签: macos iphoto

我正在编写命令行守护程​​序以从iPhoto读取图像。

我可以从使用Xcode项目创建工具创建的成熟Cocoa应用程序初始化并加载MLMediaLibrary罚款。但是,当我尝试从命令行工具(也在Xcode中创建)中执行相同操作时,Xcode控制台窗口中会出现以下错误:

MLMediaLibrary error obtaining remote object proxy: Error Domain=NSCocoaErrorDomain Code=4097 "Couldn’t communicate with a helper application."

如何从命令行工具访问MLMediaLibrary

2 个答案:

答案 0 :(得分:7)

要访问MLMediaLibrary,您的应用程序必须进行沙盒和编码。

更新

您似乎还必须为.entitlements文件添加一些永久性只读访问权限。

如果您想访问照片,iPhoto或Aperture库:

<key>com.apple.security.assets.pictures.read-only</key>
<true/>

如果您想访问iMovie和FinalCut:

<key>com.apple.security.assets.movies.read-only</key>
<true/>

如果您想访问iTunes或Logic:

<key>com.apple.security.assets.music.read-only</key>
<true/>

您可以在此处阅读我对MediaLibrary框架的糟糕体验: https://devforums.apple.com/message/1125821

答案 1 :(得分:-2)

我不认为康斯坦丁的陈述是正确的:sessionInfo() R version 3.3.1 (2016-06-21) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows >= 8 x64 (build 9200) locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 [4] LC_NUMERIC=C LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] tools_3.3.1 xlsxjars_0.6.1 rJava_0.9-8 xlsx_0.5.7

根据我的测试,我可以在我的应用程序中使用In order to access MLMediaLibrary your application has to be sandboxed and codesigned.,而我的应用程序没有代码签名,它没有权利文件,所以它显然不是沙盒应用程序。