Commit Graph
8 Commits
Author SHA1 Message Date
Daniel Jalkut 95f8e7e0cf Turn off CLANG_MODULES_AUTOLINK for XPC services, to avoid Xcode inferring that they depend upon Sparkle.framework. This seems to resolve a pesky, recurring issue in which Xcode reports dependency cycles between the XPC services, Sparkle, and/or the host apps that embed Sparkle. (#2332) 2023-03-02 23:31:11 -08:00
Zorg be7f6952c2 Reduce code size and make codebase more consistent (#2305) 2022-12-27 12:03:03 -08:00
Zorg 640e988a39 Change XPC Service product names to be more human readable (#2096)
They should not be bundle IDs because they may surface up in the UI.

Particularly, the Installer XPC Service may show up in the authorization prompt when authorization is required to install an update.
2022-03-06 21:26:56 -08:00
Zorg 8ab7bd6edb Rename XPC services to use reverse DNS style 2016-07-27 00:40:04 -04:00
Zorg 2a89393853 Take XPC services out of the framework & make them optional
I'm hoping this will ease some of the build configuration issues I've been running into.
Apps (eg: unsigned, not-sandboxed) don't need to (although they still can) use the XPC services.
Sandboxed apps naturally should use the XPC services. Although, you can for example, choose not to use the
downloader services if the host app already entitlements to allow network connections.

If you use the downloader services, you must configure ATS exceptions in them. And if you use those services,
you probably want to sign them with the required entitlements.

If you don't use the services, Sparkle will fall back on almost-identical code executed within the framework instead.

There may be other reasons to use the services or not other than for sandboxing, like fault tolerance.
Lastly, XPC services work within an application namespace. They are discoverable as long as they're in the app.
That's why we can have an app incorporate the services and let the framework use them.
2016-04-17 21:24:11 -04:00
Zorg 31dc457676 Do some Xcode XPC service cleaning
Rename the XPC service products so that they start with 'Sparkle'
Make the bundle IDs of the services a part of the build configuration, so we can pass it to the preprocessor.
2016-04-17 18:44:06 -04:00
Zorg b9f2a24660 Only use ad-hoc signing for Debug type builds and testing
We shouldn't sign Sparkle for Release builds after all..
2016-04-17 00:26:09 -04:00
Zorg 5c08e0a1d1 Add InstallerLauncher XPC Service
This allows Sparkle to be used as-is in a sandboxed application,
without needing to place Sparkle into its own XPC service.

Currently the main app may need to set a global mach service lookup exception
and a client download exception, however this can be fixed by creating a couple more
services. Testing for disk writability will need be done in a service too.
2016-04-01 17:54:12 -04:00