1

尊敬的 macOS Productbuild 和 pkgbuild 专家(不使用/不使用 Xcode)

这是我经历了关于产品构建和 pkgbuild 的巨大学习之旅后的最后一个障碍

我从 Appstore 收到错误消息

  • “ITMS-90264:产品定义属性列表中的最低最低系统版本 [none] 必须等于 'Info.plist' 中的 'LSMinimumSystemVersion' 值 [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?我需要在什么文件中插入什么,如何插入?

如果我能得到一些指示,我将不胜感激。

提前致谢

4

2 回答 2

1

为了结束这个线程,并为将来关于这个主题的查询提供帮助,这里是一个摘要

  1. productbuild 带有两个选项 --distribution distribution.xml 和 --product product_definition.plist 不能一起工作——我使用的是 10.15.7 Catalina MacOS;产品定义被忽略

  2. 最终使用 --component 组件路径和 --product product_definition.plist 被 Appstore 接受

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

我决定在我的应用程序本身的菜单下解决 Eula。

我最深切地感谢 I'L'I 耐心的指点

AppStore 的太多麻烦和很少的文档以及循环运行是不值得的。感谢苹果!

于 2020-11-03T20:12:19.330 回答
0

您需要包含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) 并包含处理最低操作系统版本的密钥。

于 2020-11-01T22:55:06.923 回答