# Alternative Installation Methods

Install the Airship SDK using CocoaPods, Carthage, or xcframeworks for iOS, tvOS, and visionOS projects that cannot use Swift Package Manager.

These installation methods are available for projects that cannot use Swift Package Manager. For new projects, use SPM — see [Install and Set Up the Apple SDK](https://www.airship.com/docs/developer/sdk-integration/apple/installation/getting-started/).


#### CocoaPods



> **Note:** CocoaPods trunk is [moving to read-only mode in late 2026](https://blog.cocoapods.org/CocoaPods-Specs-Repo/). Airship will continue to support CocoaPods as long as possible, but we recommend migrating to SPM for new and existing projects. Existing CocoaPods installations will continue to work after trunk becomes read-only.


1. Install CocoaPods if you haven't already:

`$ gem install cocoapods`

2. Navigate to your project directory in Terminal.

3. Create a `Podfile` (if one doesn't exist):

`$ pod init`

4. Open your `Podfile` and add the Airship pod. The `Airship` pod is modular and divided into subspecs:

**Available subspecs:**
- `Airship/Core` : Push messaging features including channels, tags, named user and default actions (required)
- `Airship/Automation` : Automation and in-app messaging
- `Airship/MessageCenter` : Message center
- `Airship/PreferenceCenter` : Preference Center module
- `Airship/FeatureFlags` : Feature flags module
- `Airship/ObjectiveC` : Objective-C bindings

```ruby
target "<Your Target Name>" do
  pod 'Airship'
end
```


**Or specify individual subspecs:**

```ruby
target "<Your Target Name>" do
  pod 'Airship/Core'
  pod 'Airship/MessageCenter'
  pod 'Airship/Automation'
  pod 'Airship/FeatureFlags'
end
```


**For tvOS projects, specify the platform:**

```ruby
platform :tvos, '18.0'

target "<Your Target Name>" do
  pod 'Airship'
end
```


5. Install the pods:

`$ pod install`

6. **Important:** After running `pod install`, an Xcode workspace (`.xcworkspace`) file is generated. Always open the workspace file instead of the project file (`.xcodeproj`) when building your project.

7. Import AirshipKit in your code. CocoaPods bundles all modules into a single umbrella import:

```swift
import AirshipKit
```


If you encounter issues, see the [CocoaPods troubleshooting guide](http://guides.cocoapods.org/using/troubleshooting.html).



#### Carthage



1. Install Carthage if you haven't already. See the [Carthage installation guide](https://github.com/Carthage/Carthage#installing-carthage).

2. Verify `Enable Modules` and `Link Frameworks Automatically` are enabled in your project's Build Settings.

3. Follow Carthage's [adding frameworks to an application](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) instructions to add frameworks to your application.

4. Specify the Airship iOS SDK in your `Cartfile`:

```text
github "urbanairship/ios-library"
```


5. Build the frameworks:

`$ carthage update`

6. Add the frameworks to your project. Airship is modular, so select only the frameworks you need:

   **Available frameworks:**
   - `AirshipBasement` : Required by AirshipCore (must be included)
   - `AirshipCore` : Push messaging features including channels, tags, named user and default actions (required)
   - `AirshipAutomation` : Automation and in-app messaging
   - `AirshipMessageCenter` : Message center
   - `AirshipNotificationServiceExtension` : Service Extension framework (only for Notification Service Extension targets, not the app target)*
   - `AirshipPreferenceCenter` : Preference Center
   - `AirshipFeatureFlags` : Feature flags
   - `AirshipObjectiveC` : Objective-C Bindings
   - `AirshipDebug` : Debugging tools

7. Import the frameworks in your code. Import statements match the framework names:

```swift
import AirshipCore
import AirshipMessageCenter
import AirshipAutomation
```




#### xcframeworks



1. Download and decompress the latest version of the [iOS SDK](https://github.com/urbanairship/ios-library/releases).

2. Inside the folder you should see a collection of XCFrameworks. Airship is modular, so select only the XCFrameworks you need:

   **Available XCFrameworks:**
   - `AirshipBasement.xcframework` : Required by AirshipCore (must be included)
   - `AirshipCore.xcframework` : Push messaging features including channels, tags, named user and default actions (required)
   - `AirshipAutomation.xcframework` : Automation and in-app messaging
   - `AirshipMessageCenter.xcframework` : Message center
   - `AirshipNotificationServiceExtension.xcframework` : Service Extension framework (only for Notification Service Extension targets, not the app target)*
   - `AirshipPreferenceCenter.xcframework` : Preference Center
   - `AirshipFeatureFlags.xcframework` : Feature flags
   - `AirshipObjectiveC.xcframework` : Objective-C Bindings
   - `AirshipDebug.xcframework` : Debugging tools

3. Add XCFrameworks to your project:
   - Open your project in Xcode.
   - Click on your project in the Project Navigator.
   - Select your target.
   - Make sure the **General** tab is selected.
   - Scroll down to **Frameworks, Libraries, and Embedded Content**.
   - Drag in the desired XCFrameworks from the downloaded SDK. They are wired up automatically as dependencies of your target.

4. Verify Build Settings:
   - `Enable Modules` should be set to `Yes`.
   - `Link Frameworks Automatically` should be set to `Yes`.

![Enable Modules build setting in Xcode](https://www.airship.com/docs/images/enable-modules_hu_f56ed603b2699427.webp)

*Enable Modules build setting in Xcode*
![Link Frameworks Automatically build setting in Xcode](https://www.airship.com/docs/images/link-frameworks-automatically_hu_e08f4e14a1a2ca09.webp)

*Link Frameworks Automatically build setting in Xcode*

5. Import the frameworks in your code. Import statements match the framework names:

```swift
import AirshipCore
import AirshipMessageCenter
import AirshipAutomation
```




