This covers the full lifecycle of building VoIP calls that integrate with the native iOS call UI. You'll use it when wiring up CXProvider and CXCallController, handling incoming VoIP pushes with PushKit, or building Call Directory extensions for caller ID and blocking. The guide walks through the correct sequence for reporting calls, fulfilling actions in your provider delegate, and letting CallKit manage your audio session activation instead of doing it yourself. It targets Swift 6.3 and iOS 26+, includes the PushKit token registration flow, and has a mistakes section that should save you from the common pitfalls like reporting calls too late or activating audio at the wrong time.

skills.sh installs
3.2K
GitHub stars
1.3K
last updated
Aug 21, 2026

Install

$ npx -y skills add dpearson2699/swift-ios-skills --skill callkit --agent claude-code

Installs into .claude/skills of the current project.

Files

CallKit

Build VoIP calling features that integrate with the native iOS call UI using CallKit and PushKit. Covers incoming/outgoing call flows, VoIP push registration, audio session coordination, and call directory extensions.

Contents

Setup

Project Configuration

  1. Enable the Voice over IP background mode in Signing & Capabilities
  2. Add the Push Notifications capability
  3. For call directory extensions, add a Call Directory Extension target

Key Types

Sponsors

Details

Repository
github.com/dpearson2699/swift-ios-skills
Category
Mobile Development
First seen
May 16, 2026

More from dpearson2699/swift-ios-skills

All 98
1dpearson2699 avatarcryptotokenkitdpearson2699/swift-ios-skillsAccess security tokens and smart cards using CryptoTokenKit. Use when building TKTokenDriver or TKSmartCardTokenDriver extensions, communicating with smart card3.2Kskills.sh installs
2dpearson2699 avatarfinancekitdpearson2699/swift-ios-skillsAccess eligible Wallet financial data using FinanceKit and FinanceKitUI. Use when querying transactions or balances, reading Apple Card, Apple Cash, Savings, or3.2Kskills.sh installs
3dpearson2699 avataraudioaccessorykitdpearson2699/swift-ios-skillsSupport automatic audio switching for paired third-party Bluetooth headphones or earbuds with AudioAccessoryKit. Use when a companion app registers an audio acc3.2Kskills.sh installs
4dpearson2699 avatardockkitdpearson2699/swift-ios-skillsControl motorized camera docks and enable intelligent subject tracking using DockKit. Use when discovering DockKit-compatible accessories, implementing camera s3.2Kskills.sh installs
5dpearson2699 avatarbrowserenginekitdpearson2699/swift-ios-skillsBuild alternative browser engines using BrowserEngineKit. Use when developing a non-WebKit browser engine for iOS/iPadOS in supported regions, managing web cont3.2Kskills.sh installs
6dpearson2699 avatarrelevancekitdpearson2699/swift-ios-skillsIncrease widget visibility on Apple Watch using RelevanceKit. Use when providing contextual relevance signals for watchOS widgets, declaring time-based or locat3.2Kskills.sh installs