0

按照使 OS X 安装程序包像 Pro - Xcode 开发人员 ID 准备 pkg中的说明,我能够获得我的 Firebreath 插件项目(本质上是一个可执行文件,但后缀为 .plugin 并安装在 /Library/Internet 插件中)构建到 .pkg 文件中。当我在 OSX Mountain Lion 或 Lion 系统上运行 .pkg 文件时,安装程​​序不会报告任何错误,但会在 /Library/Internet Plugins 中安装一个无法使用的零长度 .plugin 文件。以下是我用来构建 .pkg 文件的命令:

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

我也尝试过用 productbuild 和其他各种迭代来包装 .pkg 组件文件——没有什么不同。它总是安装一个长度为零的可执行文件。我在安装程序日志中也看不到任何消息。

有趣的是,当我使用 XCode UI 归档项目,然后使用归档目录中的 .plugin 构建包时,我得到了一个工作安装。所以Release文件夹中的.plugin文件肯定有什么不同。因此,如果我能找到一种从命令行创建存档的方法,那么我可以使用它而不是 Release 中的那个。但是 xcodebuild 手册页没有告诉我如何做到这一点——我可以使用一个存档命令,但是当我尝试这个时,它告诉我该命令不可用。这是因为我正在构建一个项目,而不是工作区,并且没有定义任何方案吗?

任何帮助将不胜感激 - 无论是在找出安装的 .plugin 大小为零的原因,还是在如何构建存档以便我可以使用它时。

4

1 回答 1

0

FireBreath 构建的 .plugin 文件通常是一个文件夹。

当我构建我的插件并最终得到包含 AppleScript 的 DMG 时,我对不同的安装方法进行了大量研究。这个applescript基本上运行一个shell命令,将所有东西安装在正确的位置( /Library/Internet Plug-Ins )。我并没有声称它是适合所有事情的正确方法,但是您可以检查一下它是否适合您的需求。

于 2014-10-24T06:32:55.090 回答