Thanks for your suggestions. I'll be honest that I really have no experience using Xcode and have been developing all my apps from Python and Pyinstaller. Before I dive into learning Xcode in an attempt to "tease" the two installers (Pyinstaller and Apple Installer) as you suggest, perhaps I should ask the following, which I think is really at the heart of my misunderstanding.
My app is a small "toy example" called Determinant Calculator.app, and I'll assume it's stored on my desktop in a directory named dist
I found from my notarization log that, without including --deep
in my code-sign, many items were not being signed with valid time-stamped signatures. A couple listed examples were
"Determinant Calculator.app/Contents/MacOS/libtcl8.6.dylib"
"Determinant_Calculator.pkg/Determinant%20Calculator.pkg Contents/Payload/Applications/Determinant Calculator.app/Contents/MacOS/QtQml"
All messages involved dynamic libraries or various directories, whose names began with Qt.
I understand from the "inside out" approach, which is what I was trying to avoid by using --deep
, that I need for these to be signed separately, before I sign the application itself. For example, I just code-signed the above dylib using
codesign -f -o runtime -v --timestamp --entitlements /Users/fishbacp/Desktop/determinants/entitlements.plist -s "Developer ID Application: My Name (XXXXXX7RBW)" "/Users/fishbacp/Desktop/dist/Determinant Calculator.app/Contents/MacOS/libtcl8.6.dylib"
For the QtQml, I used
codesign -f -o runtime -v --timestamp --entitlements /Users/fishbacp/Desktop/determinants/entitlements.plist -s "Developer ID Application: My Name (XXXXXX7RBW)" "/Users/fishbacp/Desktop/dist/Determinant Calculator.app/Contents/MacOS/QtQml"
Question 1: Is my understanding correct that all such items need to be signed separately before signing the application?
Question 2: Is it possible to write a shortcut that will automate the process if I give it the list of all directories in the notarization log? If there is such a shortcut, can you point me to a link where I could find such an example? (Or is this just a matter of me writing a shell script?)
Thanks for all your help.