sXPC allows you to
You can also find Swift libraries for macOS / *OS development
Note: full sample code resides in Sample folder
public struct Request: Equatable, Codable {
public var processUID: uid_t
public var processPID: pid_t
public var processPath: URL
}
public struct Response: Equatable, Codable {
public var allow: Bool
public var cache: Bool
}
public protocol Service {
func perform(_ request: Request, reply: @escaping (Response) -> Void)
}
let connection = CreateServiceXPCConnection(connection: NSXPCConnection(serviceName: "com.example.XPCService"))
connection.resume()
let proxy = connection.remoteObjectProxy { error in
print(error)
}
let request = Request(...)
proxy.perform(request) { response in print(response) }
let listener = CreateServiceXPCListener(listener: listener)
listener.newConnectionHandler = {
$0.exportedObject = DummyService()
$0.resume()
return true
}
listener.resume()
link |
Stars: 10 |
Last commit: 6 days ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics