gpt4 book ai didi

macos - 安装时忽略 productbuild 路径

转载 作者:行者123 更新时间:2023-12-04 11:27:57 27 4
gpt4 key购买 nike

我有一个用 Qt 构建的 OSX 应用程序。它经过共同设计、包装以适合 macstore,并已获得苹果的批准,并准备在 mac 商店中出售。

虽然在安装后,它会安装到它在打包过程中所在的位置而不是/Applications。

或者,我正在创建文件的 .dmg 包,我可以将其安装到/Applications 中。

在构建过程结束时,我正在运行这些命令:

codesign --force --deep --verify MyApp.app/ --entitlements ${INSTDIR}/Entitlements.plist -s "3rd Party Mac Developer Application: Company Name"
productbuild --component MyApp.app /Applications --sign "3rd Party Mac Developer Installer: Company Name" MyApp.pkg

其结果是我试图通过安装程序安装的 pkg:
$ sudo installer -store -pkg MyApp.pkg -target /
installer: Note: running installer as an admin user (instead of root) gives better Mac App Store fidelity
installer: MyApp.pkg has valid signature for submission: 3rd Party Mac Developer Installer: Company Name (key)
installer: Installation Check: Passed
installer: Volume Check: Passed
installer: Bundle com.CompanyName.MyApp will be relocated to /Users/peti/dev/build/bin/Mac/release/MyApp.app
installer: Starting install
installer: Install 0.0% complete
installer: Install 17.1% complete
installer: Install 96.4% complete
installer: Install 100.0% complete
installer: Finished install

就在 productbuild 之后,重新定位是说/Applications,但它没有安装在那里!!在随后的运行中,它会说不正确的路径。我也试过从不同的位置安装。

我也试过从 Mac Store 安装该应用程序,它的作用相同......它进入了不正确的路径。

我用过:
pkgutil --expand

解压缩包。 PackageInfo 文件是这样说的:
<pkg-info overwrite-permissions="true" relocatable="false" identifier="com.CompanyName.MyApp" postinstall-action="none" version="3.0.0" format-version="2" generator-version="InstallCmds-502 (14F1605)" install-location="/Applications" auth="root" preserve-xattr="true">

任何想法可能会出错?我试过谷歌搜索解决方案,但没有运气。这个不正确的路径可以存储在哪里?在 productbuild 之前,我没有看到嵌入到任何文件中的路径。 productbuild 做一些奇怪的事情吗?

最佳答案

最后我想我有一个解释。

除了我们的构建机器之外,它可以正确安装在所有其他机器上。原因似乎是在您从文件系统上的任何位置执行命名的 MyApp.app 后,osx 会记住该路径。因此,当您下次尝试安装它(更新?)时,它将更新已知路径上的应用程序。

更奇怪的情况是,当您有两个“安装”应用程序(两个副本)并且您尝试再次安装它时,它会在两个实例之间交替安装它!闻起来像一个错误,Apple 永远不会修复。

感谢@l'L'l 的帮助。如果您能向我解释这种行为,那将是一个加分项。

关于macos - 安装时忽略 productbuild 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36708449/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com