> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zixflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install and configure the Zixflow iOS SDK in your project.

The Zixflow iOS SDK is available via **Swift Package Manager** and **CocoaPods**. You can browse the package here:

### Swift Package Manager (Recommended)

SPM is the recommended installation method for most projects.

#### Option 1: Xcode GUI

1. Open your project in Xcode
2. Navigate to **File** → **Add Package Dependencies...**
3. Enter the repository URL:
   ```
   https://github.com/zixflow/zixflow-ios.git
   ```
4. Select version rule: **Up to Next Major** from `1.0.0`
5. Choose the modules you need:
   * `DataPipelines` (required)
   * `MessagingPushAPN` (for Apple push notifications)
   * `MessagingPushFCM` (for Firebase push notifications)
   * `Location` (for location tracking)
6. Click **Add Package**

#### Option 2: Package.swift

Add the SDK to your `Package.swift` file:

```swift theme={null}
let package = Package(
    name: "YourApp",
    dependencies: [
        .package(
            url: "https://github.com/zixflow/zixflow-ios.git",
            from: "1.0.0"
        )
    ],
    targets: [
        .target(
            name: "YourApp",
            dependencies: [
                .product(name: "DataPipelines", package: "zixflow-ios"),
                .product(name: "MessagingPushAPN", package: "zixflow-ios")
            ]
        )
    ]
)
```

#### Import Modules

```swift theme={null}
import ZixflowDataPipelines
import ZixflowMessagingPushAPN
import ZixflowLocation
```

***

### CocoaPods

#### Setup Podfile

Add the following to your `Podfile`:

```ruby theme={null}
platform :ios, '13.0'
use_frameworks!

target 'YourApp' do
  # Core module (required)
  pod 'ZixflowDataPipelines', '~> 1.0'

  # Optional modules
  pod 'ZixflowMessagingPushAPN', '~> 1.0'  # Apple Push Notifications
  pod 'ZixflowMessagingPushFCM', '~> 1.0'  # Firebase Cloud Messaging
  pod 'ZixflowLocation', '~> 1.0'          # Location tracking
end
```

**Alternative: Umbrella Pod** (includes all modules)

```ruby theme={null}
pod 'Zixflow', '~> 1.0'
```

#### Install

```bash theme={null}
pod install
```

#### Import Modules

```swift theme={null}
import ZixflowDataPipelines
import ZixflowMessagingPushAPN
import ZixflowLocation
```

***
