Airship

20.0.0

Urban Airship iOS SDK
urbanairship/ios-library

What's New

20.0.0

2025-10-09T22:18:44Z

Major SDK release with several breaking changes. See the Migration Guide for more info.

Changes

  • Xcode 26+ is now required.
  • Updated minimum deployment target to iOS 16+.
  • Refactored Message Center and Preference Center UI to provide clearer separation between navigation and content views. See the migration guide for API changes.
  • Introduced modern, block-based and async APIs as alternatives to common delegate protocols (PushNotificationDelegate, DeepLinkDelegate, etc.). The delegate pattern is still supported but will be deprecated in a future release.
  • Refactored core Airship components to use protocols instead of concrete classes, improving testability and modularity. See the migration guide for protocol renames and class-to-protocol conversions.
  • Added support for split view in the Message Center, improving the layout on larger devices.
  • Updated the Preference Center with a refreshed design and fixed UI issues on tvOS and visionOS.
  • Fixed Package.swift to remove macOS as a supported platform.
  • CustomViews within a Scene can now programmatically control their parent Scene, enabling more dynamic and interactive custom content.
  • Accessibility updates for Scenes.
  • New AirshipDebug package that exposes insights and debugging capabilities into the Airship SDK for development builds, providing enhanced visibility into SDK behavior and performance.

Airship iOS SDK

Swift Package Manager CocoaPods Carthage License

The Airship SDK for iOS provides a comprehensive way to integrate Airship's customer experience platform into your iOS, tvOS, and visionOS applications.

Features

  • Push Notifications - Rich, interactive push notifications with deep linking
  • Live Activities - Real-time updates for iOS 16.1+ Dynamic Island and Lock Screen widgets
  • In-App Experiences - Contextual messaging and automation
  • Message Center - Inbox for push notifications and messages
  • Preference Center - User preference management
  • Feature Flags - Dynamic feature toggles and experimentation
  • Analytics - Comprehensive user behavior tracking
  • Contacts - User identification and contact management
  • Tags, Attributes & Subscription Lists - User segmentation, personalization, and subscription management
  • Privacy Controls - Granular data collection and feature management
  • SwiftUI Support - Modern SwiftUI components and views

Platform Support

Feature iOS tvOS visionOS
Push Notifications
Live Activities
In-App Experiences
Message Center
Preference Center
Feature Flags
Analytics
Contacts
Tags, Attributes & Subscription Lists
Privacy Controls
SwiftUI Support

Installation

Add the Airship iOS SDK to your project using Swift Package Manager:

dependencies: [
    .package(url: "https://github.com/urbanairship/ios-library.git", from: "20.0.0")
]

In Xcode, add the following products to your target dependencies:

  • AirshipCore (required)
  • AirshipMessageCenter (for Message Center)
  • AirshipPreferenceCenter (for Preference Center)
  • AirshipAutomation (for In-App Experiences, including Scenes, In-App Automation, and Landing Pages)
  • AirshipFeatureFlags (for Feature Flags)
  • AirshipNotificationServiceExtension (for rich push notifications)
  • AirshipObjectiveC (for Objective-C compatibility)
  • AirshipDebug (for debugging tools)

Quick Start

  1. Configure and Initialize Airship in your AppDelegate or App:
import AirshipCore

// In AppDelegate
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    var config = AirshipConfig()
    config.defaultAppKey = "YOUR_APP_KEY"
    config.defaultAppSecret = "YOUR_APP_SECRET"
    
    Airship.takeOff(config)
    return true
}

// Or in SwiftUI App
@main
struct MyApp: App {
    init() {
        var config = AirshipConfig()
        config.defaultAppKey = "YOUR_APP_KEY"
        config.defaultAppSecret = "YOUR_APP_SECRET"
        
        Airship.takeOff(config)
    }
    
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
  1. Enable & Request User Notifications:
await Airship.push.enableUserPushNotifications()

Requirements

  • iOS 16.0+
  • tvOS 18.0+
  • visionOS 1.0+
  • Xcode 26.0+

Documentation

Support

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Description

  • Swift Tools 6.0.0
View More Packages from this Author

Dependencies

  • None
Last updated: Tue Oct 14 2025 23:16:57 GMT-0900 (Hawaii-Aleutian Daylight Time)