2015-09-17 2 views
2

Я пытаюсь добавить FinderSync Extension в приложение, которое построено с использованием py2app.Как связать расширение FinderSync в приложении, построенном с использованием py2app

У py2app нет рецепта для добавления расширений приложений, поэтому я создал проект Cocoa и добавил цель FinderSync Extension. После того, как я построил приложение, я скопировал приложение appx к приложению, созданному с помощью py2app в папке Plugins.

Расширение FinderSync установлено как песочница с использованием файла права доступа, но когда я запускаю основное приложение, я получил следующее сообщение, отображаемое в приложении консоли.

9/17/15 10: 33: 50.212 А.М. PKD [309]: игнорирование неправильно сконфигурированный вставные на /Applications/Test.app/Contents/Plugins/TestFinderSync.appex: плагинов должен быть изолирован от песка

Я искал переполнение стека, но не смог найти решение.

Что мне здесь не хватает?

+1

Является ли ваш код расширения sig Нед? – dejuknow

ответ

2

Чтобы сделать его работу, вы должны предоставить файл прав из своего плагина.

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 плагин с вашей CERT:

codesign --sign <cert> --entitlements <path to entitlements file> --force <path to bundle>/Contents/PlugIns/MyPlugin.appex 

Кроме того, если Вы строите плагин из Swift источника, убедитесь, что укутаться все необходимые Swift * dylibs Содержание/Рамки

Надеюсь, что это поможет