我有小牛10.9.4。我使用pkgbuild和productbuild创建了一个平面软件包,并尝试安装它。一切正常,UI表示该软件包已成功安装,日志未显示任何错误。除非未安装该软件包。我搜索了文件,但在系统中的任何位置都找不到它们,因此指定位置存在问题。禁用Gatakeeper并没有帮助。在命令行中使用安装程序不会安装软件包,也不会显示任何问题。
同样,“ pkgbuild --analyze”产生一个空的属性列表。
我从互联网上下载了MacPorts软件包(.pkg),并尝试安装它。
我没有安装bundle-stype包的问题。
最佳答案
今天,在测试我pkgbuild的几个平面软件包的安装时遇到了相同的问题:
/ Library / System和/ usr的内容已正确安装,但/ Applications中什么都没有!
多亏了一个工作包,我才知道必须指定一个“空” component.plist才能使安装程序正常工作...
这是用pkgbuild --analyze生成的component.plist
工作包:
<?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">
<array/>
</plist>
非工作包:
<?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">
<array>
<dict>
<key>BundleHasStrictIdentifier</key>
<true/>
<key>BundleIsRelocatable</key>
<true/>
<key>BundleIsVersionChecked</key>
<true/>
<key>BundleOverwriteAction</key>
<string>upgrade</string>
<key>RootRelativeBundlePath</key>
<string>Applications/MyApp.app</string>
</dict>
</array>
</plist>
在pkgbuild组件时使用--component-plist指定工作的component.plist可以达到目的:现在所有.pkg都能正常工作