问题描述
亲爱的macOS Productbuild和pkgbuild专家(不使用/不使用Xcode)
这是我在产品构建和pkgbuild上进行大量学习之后的最后一个障碍
我从Appstore收到错误消息
在我的App / Contents / Info.Plist中
`<key>LSMinimumSystemVersion</key>
<string>10.9</string>`
现在,当我按照以下顺序构建软件包时
`pkgbuild --analyze --root "./pkgbuild/app_path/" app.plist
pkgbuild --root "${ROOTFOLDER}" --identifier "${IDENTIFIER}" --version ${VERSION} -- component-plist ./app.plist --install-location "/Applications" \
--sign "${IDENTITY}" \
"${PKGNAME}.pkg"
#productbuild --synthesize --package Final.pkg distribution.xml
productbuild --distribution ./distribution.xml --resources ~/Desktop/resources --identifier com.myorg.uniqueid --version ${VERSION} --sign "${IDENTITY}" --product ~/Desktop/modInfo.plist outputFinal.pkg`
问题我应在哪里将最低产品版本最低的系统定义(不包括产品定义属性列表中的内容)添加到10.9中?我需要在什么文件中插入什么内容?如何
请多多指教。
预先感谢
解决方法
您需要在最低操作系统版本中包含product_definition.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">
<dict>
<key>os</key>
<array>
<string>10.9.0</string>
</array>
</dict>
</plist>
您的productbuild
命令将变为:
productbuild \
--distribution ./distribution.xml \
--resources ~/Desktop/resources \
--identifier com.myorg.uniqueid \
--version ${VERSION} \
--sign "${IDENTITY}" \
--productbuild --product ~/Desktop/product_definition.plist --component build/Release/Your.app /Applications outputFinal.pkg
因此,基本上我们已经将您的modInfo.plist
更改为正确的名称(product_definition.plist
),并包含了用于处理最低操作系统版本的密钥。
总结此线程,并为以后对该主题的查询提供帮助,这里是摘要
-
具有两个选项--distribution distribution.xml和--product product_definition.plist的
-
productbuild不能一起使用-我正在使用10.15.7 Catalina MacOS;产品定义被忽略
-
最终将--component组件路径与--product product_definition.plist结合使用,以被Appstore接受
-
从第2步开始,我现在没有distribution.xml,我失去了许可证/ eula功能
我决定在菜单下的应用程序中处理Eula。
我最感谢我的耐心指导
AppStore麻烦太多,文档很少,而且周期运行不值得。谢谢苹果!