Airship
@objc(UAirship)
public class Airship : NSObject
Airship manages the shared state for all Airship services. Airship.takeOff should be
called from within your application delegate’s application:didFinishLaunchingWithOptions:
method
to initialize the shared instance.
-
A flag that checks if the Airship instance is available.
true
if available, otherwisefalse
.Declaration
Swift
@objc public static var isFlying: Bool { get }
-
Airship config.
Declaration
Swift
@objc public static var config: RuntimeConfig { get }
-
Action registry.
Declaration
Swift
public static var actionRegistry: ActionRegistry { get }
-
The Airship permissions manager.
Declaration
Swift
@objc public static var permissionsManager: AirshipPermissionsManager { get }
-
A user configurable UAJavaScriptCommandDelegate
Note
this delegate is not retained.Declaration
Swift
@objc public weak static var javaScriptCommandDelegate: JavaScriptCommandDelegate? { get set }
-
The channel capture utility.
Declaration
Swift
@objc public static var channelCapture: ChannelCapture { get }
-
A user configurable deep link delegate.
Note
this delegate is not retained.Declaration
Swift
@objc public weak static var deepLinkDelegate: DeepLinkDelegate? { get set }
-
The URL allow list used for validating URLs for landing pages, wallet action, open external URL action, deep link action (if delegate is not set), and HTML in-app messages.
Declaration
Swift
@objc(URLAllowList) public static var urlAllowList: URLAllowListProtocol { get }
-
The locale manager.
Declaration
Swift
@objc public static var localeManager: AirshipLocaleManagerProtocol { get }
-
The privacy manager
Declaration
Swift
@objc public static var privacyManager: AirshipPrivacyManager { get }
-
Shared Push instance.
Declaration
Swift
public static var push: AirshipPushProtocol { get }
-
Shared Push instance.
Declaration
Swift
@objc(push) public static var _push: AirshipBasePushProtocol { get }
-
Shared Contact instance.
Declaration
Swift
public static var contact: AirshipContactProtocol { get }
-
Shared Analytics instance.
Declaration
Swift
public static var analytics: AirshipAnalyticsProtocol { get }
-
Shared Analytics instance.
Declaration
Swift
@objc(analytics) public static var _analytics: AirshipBaseAnalyticsProtocol { get }
-
Shared Channel instance.
Declaration
Swift
public static var channel: AirshipChannelProtocol { get }
-
Shared Channel instance.
Declaration
Swift
@objc(channel) public static var _channel: AirshipBaseChannelProtocol { get }
-
Initializes Airship. Config will be read from
AirshipConfig.plist
.Declaration
Swift
@objc @MainActor public class func takeOff( launchOptions: [UIApplication.LaunchOptionsKey: Any]? )
Parameters
launchOptions
The launch options passed into
application:didFinishLaunchingWithOptions:
. -
Initializes Airship.
Declaration
Swift
@objc @MainActor public class func takeOff( _ config: AirshipConfig?, launchOptions: [UIApplication.LaunchOptionsKey: Any]? )
Parameters
config
The Airship config.
launchOptions
The launch options passed into
application:didFinishLaunchingWithOptions:
. -
Initializes Airship. Config will be read from
AirshipConfig.plist
. -
Initializes Airship.
-
On ready callback gets called immediately when ready otherwise gets called immediately after takeoff
Declaration
Swift
@MainActor public static func onReady(callback: @MainActor @Sendable @escaping () -> Void)
Parameters
callback
callback closure that’s called when Airship is ready
-
Airship log handler. All Airship log will be routed through the handler.
The default logger will os.Logger on iOS 14+, and
print
on older devices.Custom loggers should be set before takeOff.
Declaration
Swift
@objc public static var logHandler: AirshipLogHandler { get set }
-
Airship log level. Sets the Airship log level. The log level defaults to
.debug
in developer mode, and.error
in production. Values set beforetakeOff
will be overridden by the value from the AirshipConfig.Declaration
Swift
@objc public static var logLevel: AirshipLogLevel { get set }
-
Airship default log privacy. Set log privacy level for default logger. All logs have privacy settings that default to
.private
in both developer mode and production. Values set beforetakeOff
will be overridden by the value from the AirshipConfig.Declaration
Swift
public static var logPrivacyLevel: AirshipLogPrivacyLevel