Skip to content

urbanairship/ios-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8,615 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Airship SDK for Apple

Swift Package Manager CocoaPods Carthage License

The Airship SDK for Apple 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
  • Swift 6 - Fully adopted Swift 6 with strict concurrency safety

Platform Support

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

1 tvOS In-App Experiences: Scenes, Banners, and non-HTML In-App Automations are supported. However, scheduled In-App Experiences will no longer display if the app’s cache is wiped due to tvOS storage limitations. 2 tvOS Message Center: Supports Native Message Center.

Installation

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

dependencies: [
    .package(url: "https://github.com/urbanairship/ios-library.git", from: "20.4.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)

For other installation methods (CocoaPods, Carthage, xcframeworks), please see the getting started guide.

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"
    
    try! 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"
        
        try! Airship.takeOff(config)
    }
    
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

Note: Airship.takeOff should only be called once.

  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.

Packages

 
 
 

Contributors

Languages