macOS Daemonology - Volodymyr Vashurkin

macOS Daemonology (eBook)

Communicate with Daemons, Agents, and Helpers Through XPC
eBook Download: PDF
2021 | 1st ed.
XIII, 154 Seiten
Apress (Verlag)
978-1-4842-7277-0 (ISBN)
Systemvoraussetzungen
46,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
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. 


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.
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 LearnUse 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 communicationWho This Book Is ForSoftware developers and solution architects with at least a working knowledge of macOS and Swift programming. As overview, may be interested for software/solution architects. 
Erscheint lt. Verlag 7.10.2021
Zusatzinfo XIII, 154 p. 34 illus.
Sprache englisch
Themenwelt Informatik Betriebssysteme / Server Macintosh / Mac OS X
Informatik Programmiersprachen / -werkzeuge Mac / Cocoa Programmierung
Schlagworte background process • beyond GUI • daemon • GUI • interprocess communication • launchctl • Login item • macOS background • Privileged helper • privilege escalation • Root • System Extension • user agent • XPC connection • XPC service
ISBN-10 1-4842-7277-3 / 1484272773
ISBN-13 978-1-4842-7277-0 / 9781484272770
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 3,3 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich