Private
Public Access
1
0

Embed mach service

This commit is contained in:
2025-08-29 19:45:27 -06:00
parent 54df338ce0
commit 41c5776d98
7 changed files with 110 additions and 5 deletions

View File

@@ -6,18 +6,35 @@
//
import Foundation
import ServiceManagement
import XPC
private let serviceName = "net.buzzert.kordophonecd"
final class XPCClient
{
private let connection: xpc_connection_t
private let signalLock = NSLock()
private var signalSinks: [UUID: (Signal) -> Void] = [:]
private var didSubscribeSignals: Bool = false
static let appService: SMAppService = {
do {
let service = SMAppService.agent(plistName: "net.buzzert.kordophonecd.plist")
if service.status != .enabled {
try service.register()
}
return service
} catch {
fatalError("Unable to register agent: \(error)")
}
}()
init() {
_ = Self.appService
self.connection = xpc_connection_create_mach_service(serviceName, nil, 0)
let handler: xpc_handler_t = { [weak self] event in