This SwiftUI sample keeps CallKit and PushKit in the host, matching Majordom's integration. CallWaveKit owns SIP registration, INVITE matching, audio and DTMF. The sample has no VLCKit dependency; an RTSP preview belongs in the host application.
- Install XcodeGen.
- Copy
Config/Secrets.xcconfig.exampletoConfig/Secrets.xcconfigand enter test credentials. Git ignores the copied file. - Set your development team and bundle identifier in
project.yml. - Run
xcodegen generate, openIntercomDemo.xcodeprojand select a physical iPhone. PushKit does not work in the Simulator. - Upload the VoIP push token printed by your backend integration. A push uses
uuidandcallerkeys. A cancellation push reusesuuidand setscancelledtotrue.
The UI exposes answer/end through CallKit, speaker, mute, the # door digit
and a redacted diagnostics snapshot. Never commit Secrets.xcconfig.