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