Documentation Index
Fetch the complete documentation index at: https://daily-docs-pr-4424.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
The Pipecat iOS SDK provides a Swift implementation for building voice and multimodal AI applications on iOS. It handles:
- Real-time audio streaming
- Bot communication and state management
- Media device handling
- Configuration management
- Event handling
Installation
Add the SDK to your project using Swift Package Manager:
// Core SDK
.package(url: "https://github.com/pipecat-ai/pipecat-client-ios.git", from: "1.0.0"),
// Daily transport implementation
.package(url: "https://github.com/pipecat-ai/pipecat-client-ios-daily.git", from: "1.0.0"),
Then add the dependencies to your target:
.target(name: "YourApp", dependencies: [
.product(name: "PipecatClientIOS", package: "pipecat-client-ios")
.product(name: "PipecatClientIOSDaily", package: "pipecat-client-ios-daily")
]),
Example
Here’s a simple example using Daily as the transport layer:
import PipecatClientIOS
import PipecatClientIOSDaily
let pipecatClientOptions = PipecatClientOptions.init(
transport: DailyTransport.init(),
enableMic: currentSettings.enableMic,
enableCam: false,
)
self.pipecatClientIOS = PipecatClient.init(
options: pipecatClientOptions
)
let startBotParams = APIRequest.init(endpoint: URL(string: $PIPECAT_API_URL + "/connect")!)
self.pipecatClientIOS?.startBotAndConnect(startBotParams: startBotParams) { (result: Result<DailyTransportConnectionParams, AsyncExecutionError>) in
switch result {
case .failure(let error):
// handle error
case .success(_):
// handle success
}
}
Documentation
API Reference
SDK API documentation
Transport Packages
Daily, Gemini, OpenAI WebRTC, and SmallWebRTC transports
Source
Pipecat Client iOS on GitHub