Problem updating OS X app using Sparkle under Mavericks and Xcode 5

I use the Sparkle environment to handle updates to my application. Everything worked fine until recently, when I upgraded to OS X 10.9 Mavericks and Xcode 5.0.2.

When I compile my application under OS X 10.8.4 and XCode 4.6.3, it can be updated without problems. But when I compile the same code with the same Xcode project and the same code signed under Mavericks and XCode 5.0.2, the generated package cannot be updated, Sparkle fails during the update process with the following error:

The application terminated due to the uncaught exception 'NSDestinationInvalidException', reason: '* + [SUPlainInstaller performSelector: onThread: withObject: waitUntilDone: modes:]: target thread exited waiting for the execution of an "NSException-terminated exception" exception

Any ideas this might come from? Is this a problem with the signature? Compilation problem?

+4
source share
1 answer

I finally found a solution thanks to this post .

The problem is that Mavericks has changed the way that applications are signed. Now all the frameworks built into the application must be signed.

" Script" :

LOCATION="${BUILT_PRODUCTS_DIR}"/"${FRAMEWORKS_FOLDER_PATH}"
IDENTITY="Developer ID"
codesign --verbose --force --sign "$IDENTITY" "$LOCATION/Sparkle.framework"
codesign --verbose --force --sign "$IDENTITY" "$LOCATION/../XPCServices/com.andymatuschak.Sparkle.SandboxService.xpc"
+10

All Articles