2014-10-16 1 views
0

Следуя инструкциям, скажем, Making OS X Installer Packages like a Pro - Xcode Developer ID ready pkg Мне удалось получить проект плагина Firebreath (по существу исполняемый файл, но с расширением .plugin и установленным в/Library/Internet Plugins) для вставки в файл .pkg. Когда я запускаю файл .pkg в OSX Mountain Lion или Lion, установщик сообщает об ошибках, но устанавливает неприменимый нулевой файл .plugin в/Library/Internet Plugins. Вот команды, я использую, чтобы построить свой .pkg файл:XCODE & PKGBUILD создайте пакет, который устанавливает исполняемый файл нулевой длины

xcodebuild ARCHS=i386 ONLY_ACTIVE_ARCH=NO -target ALL_BUILD -configuration Release 
codesign -s "$appCertificate" projects/$srcdir/Release/np$srcdir.plugin 
pkgbuild --component projects/$srcdir/Release/np$srcdir.plugin --identifier com.company.$srcdir --version $version --install-location /Library/Internet\ Plug-ins --sign "$installCertificate" $srcdir.pkg 

Я также попытался это обертывание файл компонента .pkg с productbuild, а также различные другие итерации - ничего не делает разницы. Он всегда устанавливает исполняемый файл нулевой длины. И нет сообщений, которые я могу увидеть в журнале установщика.

Интересно, когда я архивирую проект с использованием пользовательского интерфейса XCode, а затем создаю пакет с использованием .plugin из каталога архива, я получаю рабочую установку. Поэтому в папке «Release» должно быть что-то другое в файле .plugin. Если бы я мог найти способ создания архива из командной строки, поэтому я мог бы использовать его, а не тот, что был в Release. Но man-страница xcodebuild не говорит мне, как это сделать - есть команда архива, которую я могу использовать, но когда я пытаюсь это сделать, она сообщает мне, что команда недоступна. Это потому, что я строю в проекте, а не в рабочем пространстве, и нет каких-либо схем?

Любая помощь будет оценена - либо при определении того, почему установленный .plugin имеет нулевой размер, либо как построить архив, чтобы я мог использовать его вместо этого.

ответ

0

.plugin -file, созданный FireBreath, обычно является папкой.

Я сделал много исследований о различных методах установки, когда я построил свой плагин и попал в DMG, который содержит AppleScript. Этот applescript в основном запускает команды оболочки, устанавливающие все в нужные места (/ Library/Internet Plug-Ins). Я не утверждаю, что это правильный метод для всего, но вы можете проверить его, подходит ли он для ваших нужд.