32 lines
1.1 KiB
Markdown
32 lines
1.1 KiB
Markdown
# 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/`.
|
||
|