I use Sparkle in my app and sign the framework via a run shell script build phase, which works fine, no build errors. The problem is, no updates via Sparkle work, the updater says:
an error occurred while extracting the archive
Is it possible that wrong code signing could cause this error? I'm quite sure it's not a Sparkle error, the RSS xml file is 100% correct. Updating older versions works, too.
It's a non MAS App and I use my Developer ID Application certificate to sign everything. I can run the app with enabled Gatekeeper (spctl -a -v says: accepted), I can unzip it manually and start it and the right message appears, so no problems.
The difference to older versions is, that this is the first app version I built on my new Mac, I added my Developer ID in Xcode and have received all certificates I need. I think Xcode created new ones, but this shouldn't be a problem imho, I just use the new ones. I don't know if this could cause the error, too. Does anybody know more about it? Thanks.
btw: when I select "Developer ID" for code signing and afterwards set the code signing in the build settings view to my Dev ID, too, the radio button in the general view jumps back to "None".
EDIT: the script
LOCATION="${BUILT_PRODUCTS_DIR}"/"${FRAMEWORKS_FOLDER_PATH}"
IDENTITY="Developer ID Application: Name"
codesign --verbose --force --sign "$IDENTITY" "$LOCATION/Sparkle.framework/Versions/A"
codesign --verbose --force --sign "$IDENTITY" "$LOCATION/ShortcutRecorder.framework/Versions/A"
So there's no line for XPC services, do I need it? I think I don't use xpc services in my app.
After a new update with the same 'new' certificates/code signing settings the problem is gone. I recommend not to change the certificates as often as I did, perhaps something went wrong when I created the new ones and Sparkle didn't like that.
I don't use the XPC Service, just the script u see above. I didn't change the script or the app cast url/feed etc., so I don't know exactly what the problem was, but everything seems to be fine now.