# kordophoned
This is the client Kordophone daemon. It exposes a dbus interface for accessing the caching layer, handles the update cycle, etc.
# Building RPM
Make sure cargo-generate-rpm is installed, `cargo install cargo-generate-rpm`.
Then:
```
cargo build --release
strip -s target/release/kordophoned
cargo generate-rpm
```
## Running on macOS
Before any client can talk to the kordophone daemon on macOS, the XPC service needs to be manually registered with launchd.
- Register using `launchctl load net.buzzert.kordophonecd.plist`
Plans are to embed this into the app executable, which would then not need to be manually registered (only via the following Swift code):
```swift
try? SMAppService.agent(plistName: "net.buzzert.kordophonecd.plist").register()
```
and the following in Info.plist:
```xml
Labelnet.buzzert.kordophonecd
BundleProgramContents/MacOS/kordophoned
MachServicesnet.buzzert.kordophonecd
KeepAlive
```