MacOs App Store pkg Productbuild -- 添加 属性 到产品列表(没有 Xcode)
MacOs App Store pkg Productbuild -- add a property to product list (without Xcode)
尊敬的 macOS Productbuild 和 pkgbuild 专家(without/not 使用 Xcode)
这是我经历了产品构建和 pkgbuild 的大量学习之旅后的最后一个障碍
我从 Appstore 收到错误消息
- "ITMS-90264:产品中的最低最低系统版本 [none]
定义 属性 列表必须等于 'LSMinimumSystemVersion'
'Info.plist' 中的值 [10.9]。 “
在我的 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`
问题我在哪里将产品定义属性列表中的最低系统版本none合并到10.9?我需要在什么文件中插入什么,如何插入?
如能得到指点,不胜感激
提前致谢
您需要包含一个 product_definition.plist
的最低 os 版本。它应该类似于:
<?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
) 并包含了处理最低 os 版本的密钥。
为了结束这个话题,为了帮助以后查询这个主题,这里有一个总结
productbuild 与两个选项 --distribution distribution.xml 和 --product product_definition.plist 不能一起工作——我使用的是 10.15.7 Catalina MacOS;忽略产品定义
最终将 --component 组件路径与 --product product_definition.plist 一起使用以被 Appstore 接受
从第2步开始,我现在没有distribution.xml,我失去了license/eula能力
我决定在我的应用程序本身的菜单下解决 Eula。
非常感谢 I'L'I 的耐心指点
AppStore 的麻烦太多,文档很少,运行 循环不值得花时间。谢谢苹果!
尊敬的 macOS Productbuild 和 pkgbuild 专家(without/not 使用 Xcode)
这是我经历了产品构建和 pkgbuild 的大量学习之旅后的最后一个障碍
我从 Appstore 收到错误消息
- "ITMS-90264:产品中的最低最低系统版本 [none] 定义 属性 列表必须等于 'LSMinimumSystemVersion' 'Info.plist' 中的值 [10.9]。 “
在我的 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`
问题我在哪里将产品定义属性列表中的最低系统版本none合并到10.9?我需要在什么文件中插入什么,如何插入?
如能得到指点,不胜感激
提前致谢
您需要包含一个 product_definition.plist
的最低 os 版本。它应该类似于:
<?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
) 并包含了处理最低 os 版本的密钥。
为了结束这个话题,为了帮助以后查询这个主题,这里有一个总结
productbuild 与两个选项 --distribution distribution.xml 和 --product product_definition.plist 不能一起工作——我使用的是 10.15.7 Catalina MacOS;忽略产品定义
最终将 --component 组件路径与 --product product_definition.plist 一起使用以被 Appstore 接受
从第2步开始,我现在没有distribution.xml,我失去了license/eula能力
我决定在我的应用程序本身的菜单下解决 Eula。
非常感谢 I'L'I 的耐心指点
AppStore 的麻烦太多,文档很少,运行 循环不值得花时间。谢谢苹果!