OS X app update issue with Sparkle under Mavericks and XCode 5

风格不统一 提交于 2019-12-21 17:32:40

问题


I use the Sparkle framework to handle my app updates. Everything worked fine until recently, when I upgraded to OS X 10.9 Mavericks and XCode 5.0.2.

When I compile my app under OS X 10.8.4 and XCode 4.6.3, it can then be updated with no issue. But when I compile the exact same code, with the same XCode project and the same code signing under Mavericks and XCode 5.0.2, the generated bundle can't be updated, Sparkle crashing during the update process with the following error :

Terminating app due to uncaught exception 'NSDestinationInvalidException', reason: '* +[SUPlainInstaller performSelector:onThread:withObject:waitUntilDone:modes:]: target thread exited while waiting for the perform' terminating with uncaught exception of type NSException

Any ideas where this can come from? Is it a signing problem? A compiling problem?


回答1:


I finally found the solution thanks to this post.

The problem comes from the fact that Mavericks has changed the way apps are signed. Every framework embedded in an app should be signed as well now.

To do so, I just added a "Run Script" Build Phase with those lines:

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"


来源:https://stackoverflow.com/questions/20272170/os-x-app-update-issue-with-sparkle-under-mavericks-and-xcode-5

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!