MacOs App Store pkg Productbuild-将属性添加到产品列表无Xcode

问题描述

亲爱的macOS Productbuild和pkgbuild专家(不使用/不使用Xcode)

这是我在产品构建和pkgbuild上进行大量学习之后的最后一个障碍

我从Appstore收到错误消息

  • “ ITMS-90264:产品中最低的最低系统版本[无] 定义属性列表必须等于“ 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`

问题我应在哪里将最低产品版本最低的系统定义(不包括产品定义属性列表中的内容添加到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的
  1. productbuild不能一起使用-我正在使用10.15.7 Catalina MacOS;产品定义被忽略

  2. 最终将--component组件路径与--product product_definition.plist结合使用,以被Appstore接受

  3. 从第2步开始,我现在没有distribution.xml,我失去了许可证/ eula功能

我决定在菜单下的应用程序中处理Eula。

我最感谢我的耐心指导

AppStore麻烦太多,文档很少,而且周期运行不值得。谢谢苹果!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...