I've compiled an application written using the Qt (5.15.2, C++) framework on a MacBook Pro (2019) and I have a certificate provided by my boss to authenticate the app. This is what I'm running to certify the app:
macdeployqt appName.app -codesign="Developer ID Application: company" -dmg -always-overwrite
This function call is not certifying the application and it is throwing error which from my research online doesn't seem to be well documented.
First, I get the non-fatal error:
/Library/Developer/CommandLineTools/usr/bin/install_name_tool: fatal error: string table not at the end of the file (can't be processed) in file: ...
Where ... is the path of a .dylib included in the appName.app bundle. This error is iterated for all .dylib files in the app bundle. I have checked and the files are present in the directories. Why is this happening? I can view the files because they are binaries so I have no idea what they're doing inside.
Macdeployqt then continues and reports:
ERROR: "error: The specified item could not be found in the keychain.\n"
I'm thinking that I might be specifying the wrong name for the certificate (I'm not an app developer at all and the company is joking themselves if they think I know that I'm doing!)?
I have two questions.
Why am I getting string table errors in dylib files?
Why am I getting codesign errors? If I'm getting the codesign developer id name wrong, what part of the certificate information in key chain am I looking at?