
macOS Daemonology: Communicate with Daemons, Agents, and Helpers Through XPC
Volodymyr Vashurkin
Résumé
First, you'll take a tour around different types of daemons: user agents, privileged helpers, login items, XPC services, and System Extensions. Knowing key specifics of the daemons will open a wide range of possibilities from non-trivial application development to system development. You'll find lots of examples, working code samples, and even ready-to-use utilities. The book will guide you step-by-step through preparation, registration, and management of all kinds of daemons.
System Extensions are brand new for macOS and open additional powerful features for developers. You'll explore installation, user flow, and communication with System Extensions, too, with examples, of course. XPC provides an object-oriented way of communication. There's no need for custom byte/text-based protocols. A good macOS developer has to know not only programming interfaces, but also design patterns related to technology. XPC communication has a few patterns of its own, and we'll go through them all, including uni- and bi-directional communication, passing objects by-value and by-proxy, handling connection invalidation, named and anonymous connections, and many more.
What You'll Learn
- Use multiples types of daemons in your applications
- Deal with System Extensions - the new type of system daemons
- Get acquainted with Swift bridging patterns for XPC communication
Who This Book Is For
Software developers and solution architects with at least a working knowledge of macOS and Swift programming. As overview, may be interested for software/solution architects.
Chapter 1. Daemons at a Glance
The operating system background world
Different types of daemons
Chapter 2. launchd and launchd Jobs
launchd functional related to daemons
Daemons' configuration (.plist files).
Chapter 3. launchctl
Setup and manage daemons
launchctl tool in detail
Swift API for daemons management
Part 2. Daemons in Detail
Chapter 4. Choose the right daemon for you
Comparing daemon types
Picking a daemon type based on needs
Chapter 5. Classic Daemons
What is a classic daemon?
Root background processes
Chapter 6. User Agents
Specifics of user agents
User background processes
Chapter 7. XPC Services
The Simplest daemon
Working with XPC services
Chapter 8. Privileged Helpers
Special daemons
The official and modern way of privilege escalation in macOS
Chapter 9. Login Items
User Agent LoginItem
APIs related to LoginItem
Chapter 10. System Extensions (since macOS 10.15)
Brand new daemon types
System Extension
EndpointSecurity.framework
Required entitlements
Specific installation
Management
Part 3. Talking to Daemons
Chapter 11. XPC Communication
Examples of XPC communication between processes
Corner cases
Passing objects by-proxy
Using NSProgress within XPC
Other details
Chapter 12. XPC Security
Notes and recommendations
Securing XPC communication between processes
Code signing
Chapter 13. XPC and Swift
Adopting XPC communication to Swift
Passing structures over XPC
Working with callbacks instead of delegates
Part 4. Specifics and Nuances
Chapter 14. UserAgents and Sandboxs (AppStore compatible)
Use UserAgents as part of sandboxed applications
AppStore compatibilityCaractéristiques techniques
PAPIER | |
Éditeur(s) | Apress |
Auteur(s) | Volodymyr Vashurkin |
Parution | 07/10/2021 |
Nb. de pages | 154 |
EAN13 | 9781484272763 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse