How to implement Sparkle Update framework in a Sandboxed Mac app

.There seems to be a fork of Sparkle which supports Sandboxing. It’s current in beta. The install instructions are slightly confusing.

Download the latest build from https://github.com/sparkle-project/Sparkle/tree/ui-separation-and-xpc 

Open Terminal and cd into the directory

run ‘make release’

That will open up a directory with all the needed files.

The update signing is more important now in your appcast.

So, use /bin/generate_keys to generate dsa_pub.pem and dsa_priv.pem

The official repo should help you do that. 

 

Include 3 files into your project.

org.sparkle-project.InstallerConnection.xpc

org.sparkle-project.InstallerStatus.xpc

org.sparkle-project.InstallerLauncher.xpc

 

Now sign them with your Developer ID keys. You just need to do this once. So, I’m not putting them in the build phase.

 

./bin/codesign_xpc “Developer ID Application” org.sparkle-project.InstallerConnection.xpc

./bin/codesign_xpc “Developer ID Application” org.sparkle-project.InstallerStatus.xpc

./bin/codesign_xpc “Developer ID Application” org.sparkle-project.InstallerLauncher.xpc

 

 If your sandboxes app doesn’t have access to the internet from sandboxing, also include org.sparkle-project.Downloader.xpc

./bin/codesign_xpc “Developer ID Application” org.sparkle-project.Downloader.xpc –entitlements com.apple.security.network.client

 

After including these files in your project. Add a build phase that will copy the above files to the XPC Services folder.

 

 

To debug, open the Console.app and search for your app. The debug logs are quite helpful. I got stuck with not having the dsa_pub in the update I was trying to make.

 


So lazy that he can't even fill this column out.

© 2018 Suhas Tech. All rights reserved.
Proudly powered by Wordpress.