我正在尝试在使用FinderSync Extension构建的应用中添加py2app。
py2app没有捆绑App Extensions的配方,所以我创建了一个Cocoa项目并添加了一个FinderSync扩展目标。在构建appex之后,我将appex复制到使用Plugins文件夹下的py2app构建的应用程序。
使用授权文件将FinderSync扩展设置为沙箱,但是当我启动主应用程序时,我在控制台应用程序上显示以下消息。
9/17/15 10:33:50.212 AM pkd [309]:忽略错误配置的插件 /Applications/Test.app/Contents/Plugins/TestFinderSync.appex:插件 必须沙箱
我搜索过Stack Overflow但找不到解决方案。
我在这里缺少什么?
答案 0 :(得分:3)
为了使其工作您应该从插件中提供权利文件。
MyPlugin.entitlements
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>
并使用您的证书对插件进行编码:
codesign --sign <cert> --entitlements <path to entitlements file> --force <path to bundle>/Contents/PlugIns/MyPlugin.appex
此外,如果您正在从Swift源构建插件,请确保在内容/框架中捆绑所有必需的Swift * dylib
希望这有帮助