Tous nos rayons

Déjà client ? Identifiez-vous

Mot de passe oublié ?

Nouveau client ?

CRÉER VOTRE COMPTE
macOS Daemonology: Communicate with Daemons, Agents, and Helpers Through XPC
Ajouter à une liste

Librairie Eyrolles - Paris 5e
Indisponible

macOS Daemonology: Communicate with Daemons, Agents, and Helpers Through XPC

macOS Daemonology: Communicate with Daemons, Agents, and Helpers Through XPC

Volodymyr Vashurkin

154 pages, parution le 07/10/2021

Résumé

Take advantage of the full power of Swift through XPC. Development for macOS differs from iOS and web-based development because of multicomponent applications. Besides the usual GUI-based applications and app extensions, there are a wide range of daemons-processes that run in the background-to worry about. These include system monitoring, event listening, notification agents, and many-many more.
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.
Part 1. Daemons: Overview & Management

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 compatibility
Volodymyr Vashurkin (@alkenso) is an experienced macOS system and security developer and engineer. His first steps in daemonology were made while researching FileVault full disk encryption on macOS, and its interaction with iCloud services. iCloud on macOS uses plenty of system daemons and user agents, and investigating macOS's infrastructure led to a solid understanding of how the background world of macOS works. This led him deeply into the development of security solutions for macOS. Working in the security area, Volodymyr gained practical skills for creating GUI-based applications with fewer user agents (user background processes) and root daemons (root'ed background processes). In developing his knowledge and skills, Volodymyr faced numerous tricky cases, lack of documentation, and minor and major documentation gaffes. He would like to help his readers avoid the same pitfalls.

Caractéristiques techniques

  PAPIER
Éditeur(s) Apress
Auteur(s) Volodymyr Vashurkin
Parution 07/10/2021
Nb. de pages 154
EAN13 9781484272763

Avantages Eyrolles.com

Livraison à partir de 0,01 en France métropolitaine
Paiement en ligne SÉCURISÉ
Livraison dans le monde
Retour sous 15 jours
+ d'un million et demi de livres disponibles
satisfait ou remboursé
Satisfait ou remboursé
Paiement sécurisé
modes de paiement
Paiement à l'expédition
partout dans le monde
Livraison partout dans le monde
Service clients sav.client@eyrolles.com
librairie française
Librairie française depuis 1925
Recevez nos newsletters
Vous serez régulièrement informé(e) de toutes nos actualités.
Inscription