MacOS application stopped working properly after using macdeploy
-
Hello,
I'm trying to deploy MacOS application using
macdeployqt
tool. Problem is that before I using the tool, app generated byQt
works fine, but after usingmacdeployqt
app can't connect with server.This is my steps:
macdeployqt
<APP_NAME>.app-qmldir
=<APP_NAME>/qml-verbose
=3-executable
=<APP_NAME>.app/Contents/MacOS/<binary>-libpath
=<APP_NAME>.app/Contents/Frameworks-qmlimport
=/Path/to/qml/sources-always-overwrite
After this step application could not connect with server
I was addchmod
-RH u+w,go-w,a+rX <APP_NAME>.app and check binary linking + Frameworks & Plugins cross-reference linking in bundle byotool
-L <Lib_Name>.Every path linked outside was change in this way:
install_name_tool
-change@rpath
/QtSvg.framework/Versions/5/QtSvg@executable_path
/../Frameworks/QtSvg.framework/Versions/5/QtSvg <APP_NAME>.app/Contents/Frameworks/QtSvg.framework/Versions/5/QtSvgAt the end bundle is signed by
codesign
--force --deep --sign <DEVELOPER_ID> <APP_NAME>.app to be sure that every Framework and Plugin will be signed.It looks like some kind of permissioning problem or maybe wrong library linking but I'm not sure.
Is there any other way to diagnose what is the problem?
-
Hi,
Did you starting the application directly from the command line ?
-
Do you get any message in the terminal ?
-
This post is deleted!
-
@SGaist ,
The only message I have is that the application cannot create
OpcUA
client. Not sure if it help but application is using a configuration file to get server url and the file is located inQStandardPaths::writableLocation(QStandardPaths::ApplicationDataLocation)
which is a equivalent of~/Library/Application Support/<APP_NAME>
but I'm not sure if thats have any impact of this behaviour.Hi, @alanaalison currently I'm using this tools
install_name_tool
andotool
to validate the Frameworks and Plugins paths and the output looks like that:<APP_NAME>.app/Contents/Frameworks/QtDBus.framework/QtDBus: @executable_path/../Frameworks/QtDBus.framework/Versions/5/QtDBus @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit /usr/lib/libc++.1.dylib /usr/lib/libSystem.B.dylib
All Qt libs were copied to
Frameworks
folder. Or maybe I should also add the user libs? -
What modules are you using ?
-
What version of Qt are you using ?
-
Can you test with a more recent version ? Current is 5.14.2 with 5.15.0 around the corner.
-
What server are you connecting to ? Does it use SSL ?