无法在另一台 MacBook 上 运行 QT macOS 应用程序

Cannot run QT macOS app on another MacBook

跨平台 QT 应用程序是为 macOS 构建的。如果我在同一台机器上测试这个应用程序,这个应用程序就可以工作。当我创建一个 .dmg 文件时,这也适用于我的机器。当我在另一台机器上测试时,出现错误:

You do not have permission to open the application "MYAPP".

我如何调试它以查看问题出在哪里?


创建 .dmg 文件的步骤:

  1. 运行 qmakemake 直到我有 MYAPP.app(发布版本)

  2. binarycreator -c config/config.xml -p packages/ setup_MYAPP

    这会创建 setup_MYAPP.app

  3. codesign -s “我的 Apple Distribution 配置文件的完整通用名称”setup_MYAPP.app

    当我在引号之间提供无意义的名称时,它会抛出一个错误,所以我认为一切正常。

  4. hdiutil create -format UDZO -srcfolder setup_MYAPP.app MYAPP.dmg

    这会创建 MYAPP.dmg,并且安装程序拒绝在另一台 macbook 上 运行。


或者:

  1. 运行 qmakemake 直到我有 MYAPP.app(发布版本)

  2. codesign -s "Full common name of my Apple Distribution profile" MYAPP.app

  3. macdeployqt MYAPP.app/ -dmg -codesign="Full common name of my Apple Distribution profile" -appstore-compliant

    这会创建 MYAPP.dmg,并且应用程序拒绝在另一台 macbook 上 运行。

好的,看来正确答案是“这很复杂”。

我没有成功创建可以在 MAC App Store 之外共享的安装程序。 Apple 已将其限制在我只能屈服于官僚主义和漂亮但非常糟糕的文档的地步。


但是,如果您已经能够获得宝贵的开发者 ID 证书,那么成功公证您的应用似乎需要遵循以下步骤:

> security unlock-keychain -p PASSWORD !/Library/Keychains/login.keychain-db
> codesign --timestamp="http://timestamp.apple.com/ts01" --options runtime --verbose=3 --force --deep --sign "NAME OF CERTIFICATE" PATH/TO/APP.app
> xcrun altool -u USER_EMAIL -p APP_SPECIFIC_PASSWORD -notarize-app -t osx --primary-bundle-id INVENT_YOUR_OWN_UNIQUE_ID -f PATH/TO/APP.app

最后一个 运行 将 return 另一个 ID,格式为 abcdef01-2345-6789-abcd-ef0123456789,您可以使用该 ID 跟进您的公证请求:

> xcrun altool -u USER_EMAIL -p APP_SPECIFIC_PASSWORD  --notarization-info abcdef01-2345-6789-abcd-ef0123456789

您还会收到一封包含 link 公证结果的邮件。


我没有成功,我放弃了。我放弃了。 运行 的下一个勇敢的灵魂在阅读本文后可能会得救一些时间。祝你好运,愿你在我失败的地方成功!