Expand Minimize Picture-in-picture Power Device Status Voice Recognition Skip Back Skip Forward Minus Plus Play Search
Internet Explorer alert
This browser is not recommended for use with smartdevicelink.com, and may not function properly. Upgrade to a different browser to guarantee support of all features.
close alert
To Top Created with Sketch. To Top
To Bottom Created with Sketch. To Bottom
iOS Documentation
SDLLifecycleConfiguration

SDLLifecycleConfiguration Class Reference

Section Contents

Overview

Configuration options for SDLManager

-init

Initializer unavailable

Objective-C

- (nonnull instancetype)init;

+defaultConfigurationWithAppName:fullAppId:

A production configuration that runs using IAP. Additional functionality should be customized on the properties.

Objective-C

+ (nonnull SDLLifecycleConfiguration *)
    defaultConfigurationWithAppName:(nonnull NSString *)appName
                          fullAppId:(nonnull NSString *)fullAppId;

Swift

/*not inherited*/ init(appName: String, fullAppId: String)

Parameters

appName

The name of the app.

fullAppId

The full app id to be used. This should be registered with the head unit’s manufacturer. When set, the appId parameter will be set automatically to the first 10 non-dash characters of the fullAppId.

Return Value

The lifecycle configuration

+debugConfigurationWithAppName:fullAppId:ipAddress:port:

A debug configuration that runs using TCP. Additional functionality should be customized on the properties.

Objective-C

+ (nonnull SDLLifecycleConfiguration *)
    debugConfigurationWithAppName:(nonnull NSString *)appName
                        fullAppId:(nonnull NSString *)fullAppId
                        ipAddress:(nonnull NSString *)ipAddress
                             port:(UInt16)port;

Swift

/*not inherited*/ init(appName: String, fullAppId: String, ipAddress: String, port: UInt16)

Parameters

appName

The name of the app.

fullAppId

The full app id to be used. This should be registered with the head unit’s manufacturer. When set, the appId parameter will be set automatically to the first 10 non-dash characters of the fullAppId if the fullAppId is a valid UUID string. Otherwise, the appId parameter will be set to the same string as the fullAppId parameter. If you want to set the appId parameter separately, set the fullAppId here, then set the appId parameter separately.

ipAddress

The ip address of the server to connect to

port

The port of the server to connect to

Return Value

The lifecycle configuration

tcpDebugMode

Whether or not debug mode is enabled

Objective-C

@property (nonatomic, readonly) BOOL tcpDebugMode;

Swift

var tcpDebugMode: Bool { get }

tcpDebugIPAddress

The ip address at which the library will look for a server

Objective-C

@property (nonatomic, copy, readonly, null_resettable) NSString *tcpDebugIPAddress;

Swift

var tcpDebugIPAddress: String! { get }

tcpDebugPort

The port at which the library will look for a server

Objective-C

@property (nonatomic, readonly) UInt16 tcpDebugPort;

Swift

var tcpDebugPort: UInt16 { get }

appName

The full name of the app

Objective-C

@property (nonatomic, copy) NSString *_Nonnull appName;

Swift

var appName: String { get set }

appId

The app id. This must be the same as the app id received from the SDL developer portal.

See

fullAppId

Required

Objective-C

@property (nonatomic, copy) NSString *_Nonnull appId;

Swift

var appId: String { get set }

fullAppId

The full app id. This must be the same as the full app id received from the SDL developer portal.

Optional

@discussion The fullAppId is used to authenticate apps that connect with modules that support RPC spec v.5.0 and newer. If connecting with older modules, the fullAppId may be truncated to create the required appId needed to register the app on older modules. The appId is the first 10 non-dash (“-”) characters of the fullAppId (e.g. if you have a fullAppId of 123e4567-e89b-12d3-a456-426655440000, the appId will be 123e4567e8).

Objective-C

@property (nonatomic, copy, readonly, nullable) NSString *fullAppId;

Swift

var fullAppId: String? { get }

resumeHash

A hash id which should be passed to the remote system in the RegisterAppInterface

Objective-C

@property (nonatomic, copy, nullable) NSString *resumeHash;

Swift

var resumeHash: String? { get set }

isMedia

This is an automatically set based on the app type

Objective-C

@property (nonatomic, readonly) BOOL isMedia;

Swift

var isMedia: Bool { get }

appType

The application type

Objective-C

@property (nonatomic, strong, null_resettable) SDLAppHMIType appType;

Swift

var appType: SDLAppHMIType! { get set }

additionalAppTypes

Additional application types beyond appType

Objective-C

@property (nonatomic, copy, nullable) NSArray<SDLAppHMIType> *additionalAppTypes;

Swift

var additionalAppTypes: [SDLAppHMIType]? { get set }

language

The default language to use

Objective-C

@property (nonatomic, strong) SDLLanguage _Nonnull language;

Swift

var language: SDLLanguage { get set }

languagesSupported

An array of all the supported languages

Objective-C

@property (nonatomic, strong) NSArray<SDLLanguage> *_Nonnull languagesSupported;

Swift

var languagesSupported: [SDLLanguage] { get set }

appIcon

The application icon to be used on an app launching screen

Objective-C

@property (nonatomic, strong, nullable) SDLFile *appIcon;

Swift

var appIcon: SDLFile? { get set }

shortAppName

An abbrevited application name that will be used on the app launching screen if the full one would be truncated

Objective-C

@property (nonatomic, copy, nullable) NSString *shortAppName;

Swift

var shortAppName: String? { get set }

ttsName

A Text to Speech String for voice recognition of the mobile application name.

Objective-C

@property (nonatomic, copy, nullable) NSArray<SDLTTSChunk *> *ttsName;

Swift

var ttsName: [SDLTTSChunk]? { get set }

voiceRecognitionCommandNames

Additional voice recognition commands. May not interfere with any other app name or global commands.

Objective-C

@property (nonatomic, copy, nullable) NSArray<NSString *> *voiceRecognitionCommandNames;

Swift

var voiceRecognitionCommandNames: [String]? { get set }

dayColorScheme

The color scheme to use when the head unit is in a light / day situation.

Objective-C

@property (nonatomic, copy, nullable) SDLTemplateColorScheme *dayColorScheme;

Swift

@NSCopying var dayColorScheme: SDLTemplateColorScheme? { get set }

nightColorScheme

The color scheme to use when the head unit is in a dark / night situation.

Objective-C

@property (nonatomic, copy, nullable) SDLTemplateColorScheme *nightColorScheme;

Swift

@NSCopying var nightColorScheme: SDLTemplateColorScheme? { get set }

minimumProtocolVersion

The minimum protocol version that will be permitted to connect. This defaults to 1.0.0. If the protocol version of the head unit connected is below this version, the app will disconnect with an EndService protocol message and will not register.

Objective-C

@property (nonatomic, strong) SDLVersion *_Nonnull minimumProtocolVersion;

Swift

var minimumProtocolVersion: SDLVersion { get set }

minimumRPCVersion

The minimum RPC version that will be permitted to connect. This defaults to 1.0.0. If the RPC version of the head unit connected is below this version, an UnregisterAppInterface will be sent.

Objective-C

@property (nonatomic, strong) SDLVersion *_Nonnull minimumRPCVersion;

Swift

var minimumRPCVersion: SDLVersion { get set }

allowedSecondaryTransports

Which transports are permitted to be used as secondary transports. A secondary transport is a transport that is connected as an alternate, higher bandwidth transport for situations when a low-bandwidth primary transport (such as Bluetooth) will restrict certain features (such as video streaming navigation).

The only currently available secondary transport is TCP over WiFi. This is set to permit TCP by default, but it can be disabled by using SDLSecondaryTransportsNone instead.

This will only affect apps that have high-bandwidth requirements; currently that is only video streaming navigation apps.

Objective-C

@property (nonatomic) SDLSecondaryTransports allowedSecondaryTransports;

Swift

var allowedSecondaryTransports: SDLSecondaryTransports { get set }
View on GitHub.com
Previous Section Next Section