# Kordophone macOS Client (Cocoa) SwiftUI/Cocoa client for Kordophone on macOS. This app uses the Rust `core` library via the local client daemon (`kordophoned`) and communicates over XPC. ## Project - Open `osx/kordophone2.xcodeproj` in Xcode. - Target bundle id: `net.buzzert.kordophone2`. ## XPC + Daemon The macOS client talks to the `kordophoned` XPC service (`net.buzzert.kordophonecd`). During development, register the daemon with launchd: ```bash cd core/kordophoned launchctl load include/net.buzzert.kordophonecd.plist ``` The app can also register programmatically using `SMAppService` (see inline comments in `XPC/XPCClient.swift`). ## Running 1. Ensure the XPC service is registered and the `kordophoned` binary is available (see `core/README.md`). 2. Build and run the `kordophone2` app. 3. Configure the app to point the daemon at your Kordophone server URL (mock or real). ## Notes - Attachments are staged under the user’s temp directory (see `Attachments.swift`). - Entitlements and daemon files are included under `kordophone2/Daemon/` and `Supporting Files/`.