Files
voice-cat/clients/apple/dotnet
Talon e5ff484cac
.NET port / test (macos-latest) (push) Canceled after 0s
.NET port / test (ubuntu-24.04) (push) Canceled after 0s
.NET port / test (windows-latest) (push) Canceled after 0s
.NET port / apple-client (push) Canceled after 0s
.NET port / cpp-conformance (push) Canceled after 0s
Start managed macOS AppKit client
2026-09-16 17:34:16 +02:00
..
2026-09-16 17:34:16 +02:00

Managed Apple clients

VoiceCat.Mac is the native AppKit C# port. It targets net10.0-macos and references the same VoiceCat.Core and VoiceCat.Audio assemblies used by the Windows client and managed CLI.

The current checkpoint is a functional guest-client shell: AppKit launch/menu lifecycle, host and nickname entry, explicit TOFU approval (including changed-key warning), channel selection, user roster, channel text, voice subscription, disconnect reporting, native accessibility labels, sandbox/network/audio entitlements, and deterministic disposal. It does not yet replace the Swift release. CoreAudio capture/playback, saved servers/accounts, moderation sheets, private messages, settings, ScreenCaptureKit sharing, VoiceOver verification, signing and notarization remain.

Build on Apple Silicon macOS 15.6+ with Xcode 26 and the .NET 10 macOS workload:

dotnet workload install macos
dotnet restore clients/apple/dotnet/VoiceCat.Apple.slnx
dotnet build clients/apple/dotnet/VoiceCat.Apple.slnx -c Debug

The repository's dotnet/build-native.ps1 must first stage an osx-arm64 libvoicecat_media.dylib; that shim contains only Opus/RNNoise. Windows and Linux cannot compile or validate AppKit bindings, so the macOS build is a required CI/release gate.