问题标签 [macdeployqt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - macdeployqt 不验证应用程序
我已经在 MacBook Pro(2019)上编译了一个使用 Qt(5.15.2,C++)框架编写的应用程序,并且我的老板提供了一个证书来验证该应用程序。这是我正在运行以验证应用程序:
此函数调用未验证应用程序,并且抛出错误,从我的在线研究来看,该错误似乎没有得到很好的记录。
首先,我收到非致命错误:
/Library/Developer/CommandLineTools/usr/bin/install_name_tool:致命错误:字符串表不在文件末尾(无法处理)在文件:...
其中 ... 是 appName.app 包中包含的 .dylib 的路径。应用程序包中的所有 .dylib 文件都会重复出现此错误。我已经检查并且文件存在于目录中。为什么会这样?我可以查看这些文件,因为它们是二进制文件,所以我不知道它们在里面做什么。
Macdeployqt 然后继续并报告:
错误:“错误:在钥匙串中找不到指定的项目。\n”
我在想我可能为证书指定了错误的名称(我根本不是应用程序开发人员,如果他们认为我知道我在做什么,公司就是在开玩笑!)?
我有两个问题。
为什么我在 dylib 文件中出现字符串表错误?
为什么我会收到代码设计错误?如果我的 codesign 开发人员 ID 名称错误,我在看钥匙链中证书信息的哪一部分?
macos - 无法在另一台 MacBook 上运行 QT macOS 应用程序
为 macOS 构建了一个跨平台的 QT 应用程序。如果我在同一台机器上测试它,这个应用程序就可以工作。当我创建一个.dmg
文件时,这也适用于我的机器。当我在另一台机器上测试时,我得到了错误:
您无权打开应用程序“MYAPP”。
我该如何调试它以查看问题所在?
我创建.dmg
文件的步骤:
运行
qmake
,make
直到我有 MYAPP.app(发布版本)binarycreator -c config/config.xml -p packages/ setup_MYAPP
这将创建 setup_MYAPP.app
codesign -s "我的 Apple 分发配置文件的完整通用名称" setup_MYAPP.app
当我在引号之间提供一个无意义的名称时,它会引发错误,所以我认为这很好。
hdiutil create -format UDZO -srcfolder setup_MYAPP.app MYAPP.dmg
这将创建 MYAPP.dmg,并且安装程序拒绝在另一台 macbook 上运行。
或者:
运行
qmake
,make
直到我有 MYAPP.app(发布版本)codesign -s "Full common name of my Apple Distribution profile" MYAPP.app
macdeployqt MYAPP.app/ -dmg -codesign="Full common name of my Apple Distribution profile" -appstore-compliant
这会创建 MYAPP.dmg,并且该应用程序拒绝在另一台 macbook 上运行。
macos - 使用带有 arm64 构建的 macdeployqt
我在使用macdeployqt
arm64 构建时遇到问题。我在装有 macOS12 (Monterey) 的 Apple Silicon M1 机器上。我已经安装了 Qt 6.2.1 和 XCode 13.1。
我创建了一个非常简单的控制台应用程序。
使用 qmake PRO 文件:
我打电话qmake
给QMAKE_APPLE_DEVICE_ARCHS="arm64"
。它成功创建了应用程序包。
然后我尝试macdeployqt
从 Qt 6.2.1 bin 目录运行:
...我收到很多消息:
我怎样才能解决这个问题?