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/`.
|
|||
|
|
|