0

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.

  1. Why am I getting string table errors in dylib files?

  2. 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?

eyllanesc
  • 235,170
  • 19
  • 170
  • 241
Jono_R
  • 113
  • 2
  • 8
  • Have you installed the private key or just the certificate? – Alan Birtles Sep 21 '21 at 06:18
  • I don't think I have the private key? I have downloaded the certificate from the Apple developer site and generated a certificate authority. I'm using a certificate which was originally notarised by another developer (no longer part of the company). – Jono_R Sep 22 '21 at 04:19
  • You need the private key in order to sign code – Alan Birtles Sep 22 '21 at 06:30

0 Answers0