nsstring(sdlenum) category reference · protocoldelegatetable undocumented securitymanager...

Post on 16-Sep-2019

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Documentation iOS DocumentationDocument current as of 01/22/2018 11:53 AM.

NSString(SDLEnum) CategoryReference

Section Contents

• -isEqualToEnum:

Overview

Undocumented

-isEqualToEnum:

Undocumented

OBJECTIVE-C

- (BOOL)isEqualToEnum:(SDLEnum)enumObj;

SDLAbstractProtocol Class Reference

Section Contents

• debugConsoleGroupName• transport• protocolDelegateTable• securityManager• appId• -startServiceWithType:payload:• -startSecureServiceWithType:payload:completionHandler:• -endServiceWithType:• -sendRPC:• -sendRPC:encrypted:error:• -sendRawData:withServiceType:• -sendEncryptedRawData:onService:• -handleBytesFromTransport:

Overview

Undocumented

SWIFT

func isEqual(toEnum enumObj: SDLEnum) -> Bool

debugConsoleGroupName

Undocumented

transport

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSString *debugConsoleGroupName

SWIFT

var debugConsoleGroupName: String { get set }

OBJECTIVE-C

@property (nullable, weak, nonatomic) SDLAbstractTransport *transport

protocolDelegateTable

Undocumented

securityManager

Undocumented

SWIFT

weak var transport: SDLAbstractTransport? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSHashTable<id<SDLProtocolListener>> *protocolDelegateTable

SWIFT

var protocolDelegateTable: NSHashTable<SDLProtocolListener>? { get set }

appId

Undocumented

OBJECTIVE-C

@property (nullable, nonatomic, strong) id<SDLSecurityType> securityManager

SWIFT

var securityManager: SDLSecurityType? { get set }

OBJECTIVE-C

@property (nonatomic, copy) NSString *appId

SWIFT

var appId: String { get set }

-startServiceWithType:payload:

Undocumented

-

startSecureServiceWithType:payload:completionHandler:

Undocumented

OBJECTIVE-C

- (void)startServiceWithType:(SDLServiceType)serviceType payload:(nullable NSData *)payload;

SWIFT

func startService(with serviceType: SDLServiceType, payload: Data?)

OBJECTIVE-C

- (void)startSecureServiceWithType:(SDLServiceType)serviceType payload:(nullable NSData *)payload completionHandler:(void (^)(BOOL success, NSError *error))completionHandler;

-endServiceWithType:

Undocumented

-sendRPC:

Undocumented

SWIFT

func startSecureService(with serviceType: SDLServiceType, payload: Data?, completionHandler: @escaping (Bool, Error) -> Void)

OBJECTIVE-C

- (void)endServiceWithType:(SDLServiceType)serviceType;

SWIFT

func endService(with serviceType: SDLServiceType)

-sendRPC:encrypted:error:

Undocumented

OBJECTIVE-C

- (void)sendRPC:(SDLRPCMessage *)message;

SWIFT

func sendRPC(_ message: SDLRPCMessage)

OBJECTIVE-C

- (BOOL)sendRPC:(SDLRPCMessage *)message encrypted:(BOOL)encryption error:(NSError **)error;

SWIFT

func sendRPC(_ message: SDLRPCMessage, encrypted encryption: Bool) throws

-sendRawData:withServiceType:

Undocumented

-sendEncryptedRawData:onService:

Undocumented

OBJECTIVE-C

- (void)sendRawData:(NSData *)data withServiceType:(SDLServiceType)serviceType;

SWIFT

func sendRawData(_ data: Data, with serviceType: SDLServiceType)

OBJECTIVE-C

- (void)sendEncryptedRawData:(NSData *)data onService:(SDLServiceType)serviceType;

-handleBytesFromTransport:

Undocumented

SWIFT

func sendEncryptedRawData(_ data: Data, on serviceType: SDLServiceType)

OBJECTIVE-C

- (void)handleBytesFromTransport:(NSData *)receivedData;

SWIFT

func handleBytes(fromTransport receivedData: Data)

SDLAbstractTransport Class Reference

Section Contents

• delegate• debugConsoleGroupName• -connect• -disconnect• -sendData:• -retryDelay

Overview

Undocumented

delegate

Undocumented

OBJECTIVE-C

@property (nullable, weak, nonatomic) id<SDLTransportDelegate> delegate

debugConsoleGroupName

Undocumented

-connect

Undocumented

SWIFT

weak var delegate: SDLTransportDelegate? { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSString *debugConsoleGroupName

SWIFT

var debugConsoleGroupName: String { get set }

-disconnect

Undocumented

OBJECTIVE-C

- (void)connect;

SWIFT

func connect()

OBJECTIVE-C

- (void)disconnect;

SWIFT

func disconnect()

-sendData:

Undocumented

-retryDelay

Undocumented

OBJECTIVE-C

- (void)sendData:(NSData *)dataToSend;

SWIFT

func send(_ dataToSend: Data)

OBJECTIVE-C

- (double)retryDelay;

SDLAddCommand Class Reference

Section Contents

• -initWithHandler:• -initWithId:vrCommands:handler:• -initWithId:vrCommands:menuName:handler:• -

initWithId:vrCommands:menuName:parentId:position:iconValue:iconType:handler:• handler• cmdID• menuParams• vrCommands• cmdIcon

Overview

This class will add a command to the application’s Command Menu

SDLMenuParams

A command will be added to the end of the list of elements in the Command

Menu under the following conditions: • When a SDLCommand is added with no SDLMenuParams value provided• When a SDLMenuParams value is provided with a SDLMenuParam.position

value greater than or equal to the number of menu items currently defined inthe menu specified by the SDLMenuParam.parentID value

SWIFT

func retryDelay() -> Double

The set of choices which the application builds using SDLAddCommand can be

a mixture of: • Choices having only VR synonym definitions, but no SDLMenuParams

definitions • Choices having only SDLMenuParams definitions, but no VR synonym

definitions • Choices having both SDLMenuParams and VR synonym definitions

HMILevel needs to be FULL, LIMITED or BACKGROUD

@since SDL 1.0

SeeSDLDeleteCommand SDLAddSubMenu SDLDeleteSubMenu

-initWithHandler:

Construct a SDLAddCommand with a handler callback when an event occurs.

OBJECTIVE-C

- (nonnull instancetype)initWithHandler: (nullable SDLRPCCommandNotificationHandler)handler;

SWIFT

init(handler: SDLRPCCommandNotificationHandler? = nil)

handler

A callback that will be called when a button event occurs for the

command

An SDLAddCommand object

-initWithId:vrCommands:handler:

Undocumented

PARAMETERS

RETURN VALUE

OBJECTIVE-C

- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray<NSString *> *)vrCommands handler:(nullable SDLRPCCommandNotificationHandler)handler;

-initWithId:vrCommands:menuName:handler:

Undocumented

-

initWithId:vrCommands:menuName:parentId:position:iconValue:iconType:handl

Undocumented

SWIFT

init(id commandId: UInt32, vrCommands: [String]?, handler: SDLRPCCommandNotificationHandler? = nil)

OBJECTIVE-C

- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray<NSString *> *)vrCommands menuName:(NSString *)menuName handler:(SDLRPCCommandNotificationHandler)handler;

SWIFT

init(id commandId: UInt32, vrCommands: [String]?, menuName: String, handler: @escaping SDLRPCCommandNotificationHandler)

handler

A handler that will let you know when the button you created is subscribed.

WarningThis will only work if you use SDLManager.

OBJECTIVE-C

- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray<NSString *> *)vrCommands menuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position iconValue:(NSString *)iconValue iconType:(SDLImageType)iconType handler:(nullable SDLRPCCommandNotificationHandler)handler;

SWIFT

init(id commandId: UInt32, vrCommands: [String]?, menuName: String, parentId: UInt32, position: UInt16, iconValue: String, iconType: SDLImageType, handler: SDLRPCCommandNotificationHandler? = nil)

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) SDLRPCCommandNotificationHandler handler;

cmdID

@abstract A Unique Command ID that identifies the command

@discussion Is returned in an SDLOnCommand notification to identify the

command selected by the user

Required, Integer, 0 - 2,000,000,000

SWIFT

var handler: SDLRPCCommandNotificationHandler? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull cmdID;

SWIFT

var cmdID: NSNumber & SDLInt { get set }

menuParams

@abstract a SDLMenuParams pointer which will defined the command and how

it is added to the Command Menu

@discussion If provided, this will define the command and how it is added to

the Command Menu

If null, commands will not be accessible through the HMI application menu

Optional

vrCommands

@abstract An array of strings to be used as VR synonyms for this command.

@discussion If provided, defines one or more VR phrases the recognition of any

of which triggers the SDLOnCommand notification with this cmdID

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLMenuParams *menuParams;

SWIFT

var menuParams: SDLMenuParams? { get set }

If null, commands will not be accessible by voice commands (when the user

hits push-to-talk)

Optional, Array of Strings, Max String length 99 chars, Array size 1 - 100

cmdIcon

@abstract Image struct containing a static or dynamic icon

@discussion If provided, defines the image to be be shown along with a

command

If omitted on supported displays, no (or the default if applicable) icon will be

displayed

Optional

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<NSString *> *vrCommands;

SWIFT

var vrCommands: [String]? { get set }

SDLAddSubMenu Class Reference

Section Contents

• -initWithId:menuName:• -initWithId:menuName:position:• menuID• position• menuName

Overview

Add a SDLSubMenu to the Command Menu

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLImage *cmdIcon;

SWIFT

var cmdIcon: SDLImage? { get set }

A SDLSubMenu can only be added to the Top Level Menu (i.e.a SDLSubMenu

cannot be added to a SDLSubMenu), and may only contain commands as

children

HMILevel needs to be FULL, LIMITED or BACKGROUD

Since SmartDeviceLink 1.0

see SDLDeleteSubMenu SDLAddCommand SDLDeleteCommand

-initWithId:menuName:

Undocumented

-initWithId:menuName:position:

Undocumented

OBJECTIVE-C

- (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName;

SWIFT

init(id menuId: UInt32, menuName: String)

menuID

@abstract a Menu ID that identifies a sub menu @discussion This value is used

in SDLAddCommand to which SDLSubMenu is the parent of the command being

added

OBJECTIVE-C

- (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName position:(UInt8)position;

SWIFT

init(id menuId: UInt32, menuName: String, position: UInt8)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull menuID;

position

@abstract a position of menu @discussion An NSNumber pointer representing

the position within the items of the top level Command Menu. 0 will insert at

the front, 1 will insert after the first existing element, etc. Position of any

submenu will always be located before the return and exit options

Notes:

• Min Value: 0; Max Value: 1000• If position is greater or equal than the number of items on top level, the

sub menu will be appended by the end• If this parameter is omitted, the entry will be added at the end of the list

SWIFT

var menuID: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *position;

SWIFT

var position: (NSNumber & SDLInt)? { get set }

menuName

@abstract a menuName which is displayed representing this submenu item

@discussion NSString which will be displayed representing this submenu item

SDLAirbagStatus Class Reference

Section Contents

• driverAirbagDeployed• driverSideAirbagDeployed• driverCurtainAirbagDeployed• passengerAirbagDeployed• passengerCurtainAirbagDeployed• driverKneeAirbagDeployed

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull menuName;

SWIFT

var menuName: String { get set }

• passengerSideAirbagDeployed• passengerKneeAirbagDeployed

Overview

Undocumented

driverAirbagDeployed

Undocumented

driverSideAirbagDeployed

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus driverAirbagDeployed

SWIFT

var driverAirbagDeployed: SDLVehicleDataEventStatus { get set }

driverCurtainAirbagDeployed

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus driverSideAirbagDeployed

SWIFT

var driverSideAirbagDeployed: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus driverCurtainAirbagDeployed

passengerAirbagDeployed

Undocumented

passengerCurtainAirbagDeployed

Undocumented

SWIFT

var driverCurtainAirbagDeployed: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus passengerAirbagDeployed

SWIFT

var passengerAirbagDeployed: SDLVehicleDataEventStatus { get set }

driverKneeAirbagDeployed

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus passengerCurtainAirbagDeployed

SWIFT

var passengerCurtainAirbagDeployed: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus driverKneeAirbagDeployed

passengerSideAirbagDeployed

Undocumented

passengerKneeAirbagDeployed

Undocumented

SWIFT

var driverKneeAirbagDeployed: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus passengerSideAirbagDeployed

SWIFT

var passengerSideAirbagDeployed: SDLVehicleDataEventStatus { get set }

SDLAlert Class Reference

Section Contents

• -initWithAlertText1:alertText2:duration:• -initWithAlertText1:alertText2:alertText3:• -initWithAlertText1:alertText2:alertText3:duration:• -initWithAlertText1:alertText2:alertText3:duration:softButtons:• -initWithTTS:playTone:• -initWithTTS:alertText1:alertText2:playTone:duration:• -initWithTTS:alertText1:alertText2:alertText3:playTone:duration:• -initWithTTSChunks:playTone:• -initWithTTSChunks:alertText1:alertText2:alertText3:playTone:softButtons:

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus passengerKneeAirbagDeployed

SWIFT

var passengerKneeAirbagDeployed: SDLVehicleDataEventStatus { get set }

• -

initWithTTSChunks:alertText1:alertText2:alertText3:playTone:duration:softButtons:• alertText1• alertText2• alertText3• ttsChunks• duration• playTone• progressIndicator• softButtons

Overview

Shows an alert which typically consists of text-to-speech message and text on

the display. At least either alertText1, alertText2 or TTSChunks need to be

provided.

• The displayed portion of the SDLAlert, if any, will persist until the specified

timeout has elapsed, or the SDLAlert is preempted• An SDLAlert will preempt (abort) any SmartDeviceLink Operation that is

in-progress, except an already-in-progress SDLAlert• An SDLAlert cannot be preempted by any SmartDeviceLink Operation• An SDLAlert can be preempted by a user action (button push)• An SDLAlert will fail if it is issued while another SDLAlert is in progress• Although each Alert parameter is optional, in fact each SDLAlert request

must supply at least one of the following parameters:

◦ alertText1◦ alertText2◦ alertText3◦ ttsChunks

HMILevel needs to be FULL or LIMITED.If the app has been granted function group Notification theSDLHMILevel can also be BACKGROUND

@since SDL 1.0

-initWithAlertText1:alertText2:duration:

Undocumented

-initWithAlertText1:alertText2:alertText3:

Undocumented

OBJECTIVE-C

- (instancetype)initWithAlertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 duration:(UInt16)duration;

SWIFT

init(alertText1: String?, alertText2: String?, duration: UInt16)

OBJECTIVE-C

- (instancetype)initWithAlertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 alertText3:(nullable NSString *)alertText3;

-initWithAlertText1:alertText2:alertText3:duration:

Undocumented

-

initWithAlertText1:alertText2:alertText3:duration:softButtons:

Undocumented

SWIFT

init(alertText1: String?, alertText2: String?, alertText3: String?)

OBJECTIVE-C

- (instancetype)initWithAlertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 alertText3:(nullable NSString *)alertText3 duration:(UInt16)duration;

SWIFT

init(alertText1: String?, alertText2: String?, alertText3: String?, duration:UInt16)

-initWithTTS:playTone:

Undocumented

OBJECTIVE-C

- (instancetype)initWithAlertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 alertText3:(nullable NSString *)alertText3 duration:(UInt16)duration softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;

SWIFT

init(alertText1: String?, alertText2: String?, alertText3: String?, duration:UInt16, softButtons: [SDLSoftButton]?)

OBJECTIVE-C

- (instancetype)initWithTTS:(nullable NSString *)ttsText playTone:(BOOL)playTone;

-

initWithTTS:alertText1:alertText2:playTone:duration:

Undocumented

SWIFT

init(tts ttsText: String?, playTone: Bool)

OBJECTIVE-C

- (instancetype)initWithTTS:(nullable NSString *)ttsText alertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 playTone:(BOOL)playTone duration:(UInt16)duration;

SWIFT

init(tts ttsText: String?, alertText1: String?, alertText2: String?, playTone: Bool, duration: UInt16)

-

initWithTTS:alertText1:alertText2:alertText3:playTone:duration:

Undocumented

-initWithTTSChunks:playTone:

Undocumented

OBJECTIVE-C

- (instancetype)initWithTTS:(nullable NSString *)ttsText alertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 alertText3:(nullable NSString *)alertText3 playTone:(BOOL)playTone duration:(UInt16)duration;

SWIFT

init(tts ttsText: String?, alertText1: String?, alertText2: String?, alertText3: String?, playTone: Bool, duration: UInt16)

OBJECTIVE-C

- (instancetype)initWithTTSChunks:(nullable NSArray<SDLTTSChunk *> *)ttsChunks playTone:(BOOL)playTone;

-

initWithTTSChunks:alertText1:alertText2:alertText3:playTone:softButtons:

Undocumented

SWIFT

init(ttsChunks: [SDLTTSChunk]?, playTone: Bool)

OBJECTIVE-C

- (instancetype)initWithTTSChunks:(nullable NSArray<SDLTTSChunk *> *)ttsChunks alertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 alertText3:(nullable NSString *)alertText3 playTone:(BOOL)playTone softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;

SWIFT

init(ttsChunks: [SDLTTSChunk]?, alertText1: String?, alertText2: String?, alertText3: String?, playTone: Bool, softButtons: [SDLSoftButton]?)

-

initWithTTSChunks:alertText1:alertText2:alertText3:playTone:duration:softButto

Undocumented

alertText1

@abstract The String to be displayed in the first field of the display during the

Alert

@discussion Length is limited to what is indicated in SDLRegisterAppInterface

response

If omitted, top display line will be cleared

OBJECTIVE-C

- (instancetype)initWithTTSChunks:(nullable NSArray<SDLTTSChunk *> *)ttsChunks alertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 alertText3:(nullable NSString *)alertText3 playTone:(BOOL)playTone duration:(UInt16)duration softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;

SWIFT

init(ttsChunks: [SDLTTSChunk]?, alertText1: String?, alertText2: String?, alertText3: String?, playTone: Bool, duration: UInt16, softButtons: [SDLSoftButton]?)

Text is always centered

Optional, Max length 500 chars

alertText2

@abstract The String to be displayed in the second field of the display during

the Alert

@discussion Only permitted if HMI supports a second display line

Length is limited to what is indicated in SDLRegisterAppInterface response

If omitted, second display line will be cleared

Text is always centered

Optional, Max length 500 chars

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *alertText1;

SWIFT

var alertText1: String? { get set }

alertText3

@abstract the String to be displayed in the third field of the display during the

Alert @discussion Only permitted if HMI supports a third display line

Length is limited to what is indicated in SDLRegisterAppInterface response

If omitted, third display line will be cleared

Text is always centered

Optional, Max length 500 chars

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *alertText2;

SWIFT

var alertText2: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *alertText3;

ttsChunks

@abstract An array which, taken together, specify what is to be spoken to the

user

Optional, Array of SDLTTSChunk, Array length 1 - 100

SeeSDLTTSChunk

SWIFT

var alertText3: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *ttsChunks;

SWIFT

var ttsChunks: [SDLTTSChunk]? { get set }

duration

@abstract The duration of the displayed portion of the alert, in milliseconds.

@discussion After this amount of time has passed, the display fields alertText1

and alertText2 will revert to what was displayed in those fields before the alert

began.

Typical timeouts are 3 - 5 seconds

If omitted, the timeout is set to 5 seconds

Optional, Integer, 3000 - 10000

playTone

@abstract Whether the alert tone should be played before the TTS (if any) is

spoken.

@discussion If ommitted, no tone is played

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *duration;

SWIFT

var duration: (NSNumber & SDLInt)? { get set }

Optional, Boolean

progressIndicator

@abstract If supported on the given platform, the alert GUI will include some

sort of animation indicating that loading of a feature is progressing. e.g. a

spinning wheel or hourglass, etc.

Optional, Boolean

@since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *playTone;

SWIFT

var playTone: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *progressIndicator;

softButtons

@abstract App defined SoftButtons.

@discussion If omitted on supported displays, the displayed alert shall not have

any SoftButtons

Optional, Array of SDLSoftButton, Array size 0 - 4

SeeSDLSoftButton

SWIFT

var progressIndicator: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLSoftButton *> *softButtons;

SWIFT

var softButtons: [SDLSoftButton]? { get set }

SDLAlertManeuver Class Reference

Section Contents

• -initWithTTS:softButtons:• -initWithTTSChunks:softButtons:• ttsChunks• softButtons

Overview

@since SmartDeviceLink 1.0

-initWithTTS:softButtons:

Undocumented

OBJECTIVE-C

- (instancetype)initWithTTS:(nullable NSString *)ttsText softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;

SWIFT

init(tts ttsText: String?, softButtons: [SDLSoftButton]?)

-initWithTTSChunks:softButtons:

Undocumented

ttsChunks

Undocumented

OBJECTIVE-C

- (instancetype)initWithTTSChunks:(nullable NSArray<SDLTTSChunk *> *)ttsChunks softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;

SWIFT

init(ttsChunks: [SDLTTSChunk]?, softButtons: [SDLSoftButton]?)

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSArray<SDLTTSChunk *> *ttsChunks

softButtons

Undocumented

SWIFT

var ttsChunks: [SDLTTSChunk]? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSArray<SDLSoftButton *> *softButtons

SWIFT

var softButtons: [SDLSoftButton]? { get set }

SDLAlertResponse Class Reference

Section Contents

• tryAgainTime

Overview

Sent after SDLAlert has been sent @since SDL 1.0

tryAgainTime

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLInt> *tryAgainTime

SWIFT

var tryAgainTime: (NSNumber & SDLInt)? { get set }

SDLAppInfo Class Reference

Section Contents

• +currentAppInfo• appDisplayName• appBundleID• appVersion

Overview

Undocumented

+currentAppInfo

Undocumented

OBJECTIVE-C

+ (instancetype)currentAppInfo;

SWIFT

class func current() -> Self

appDisplayName

Undocumented

appBundleID

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSString *appDisplayName

SWIFT

var appDisplayName: String { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSString *appBundleID

appVersion

Undocumented

SWIFT

var appBundleID: String { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSString *appVersion

SWIFT

var appVersion: String { get set }

SDLArtwork Class Reference

Section Contents

• +artworkWithImage:name:asImageFormat:• +persistentArtworkWithImage:name:asImageFormat:• -initWithImage:name:persistent:asImageFormat:

Overview

Undocumented

+artworkWithImage:name:asImageFormat:

Convenience Helper to create an ephemeral artwork from an image.

This is an ephemeral file, it will not be persisted through sessions / ignition

cycles. Any files that you do not know you will use in future sessions should be

created through this method. For example, album / artist artwork should be

ephemeral.

Persistent files should be created using

persistentArtworkWithImage:name:asImageFormat:

Warning

It is strongly recommended to pass the file url using an SDLFile initializer

instead of the image. If you pass the UIImage, it is loaded into memory, and will

be dumped to a temporary file. This will create a duplicate file. Only pass a

UIImage if the image is not stored on disk.

image

The UIImage to be sent to the remote head unit

name

The name of the file that will be used to reference the file in the future

(for example on the remote file system). The max file name length may

vary based on remote file system limitations.

imageFormat

Whether the image should be converted to a PNG or JPG before

transmission. Images with transparency or few colors should be PNGs.

Images with many colors should be JPGs.

OBJECTIVE-C

+ (nonnull instancetype)artworkWithImage:(nonnull UIImage *)image name:(nonnull NSString *)name asImageFormat:(SDLArtworkImageFormat)imageFormat;

PARAMETERS

An instance of this class to be passed to the file manager.

+persistentArtworkWithImage:name:asImageFormat:

Convenience Helper to create a persistent artwork from an image.

This is a persistent file, it will be persisted through sessions / ignition cycles.

You will only have a limited space for all files, so be sure to only persist files

that are required for all or most sessions. For example, menu artwork should be

persistent.

Ephemeral files should be created using

ephemeralArtworkWithImage:name:asImageFormat:

Warning

It is strongly recommended to pass the file url using an SDLFile initializer

instead of the image. If you pass the UIImage, it is loaded into memory, and will

be dumped to a temporary file. This will create a duplicate file. Only pass a

UIImage if the image is not stored on disk.

RETURN VALUE

OBJECTIVE-C

+ (nonnull instancetype)persistentArtworkWithImage:(nonnull UIImage *)image name:(nonnull NSString *)name asImageFormat: (SDLArtworkImageFormat)imageFormat;

image

The UIImage to be sent to the remote head unit

name

The name of the file that will be used to reference the file in the future

(for example on the remote file system). The max file name length may

vary based on remote file system limitations.

imageFormat

Whether the image should be converted to a PNG or JPG before

transmission. Images with transparency or few colors should be PNGs.

Images with many colors should be JPGs.

An instance of this class to be passed to the file manager.

-initWithImage:name:persistent:asImageFormat:

Create a file for transmission to the remote system from a UIImage.

PARAMETERS

RETURN VALUE

image

The UIImage to be sent to the remote head unit

name

The name of the file that will be used to reference the file in the future

(for example on the remote file system). The max file name length may

vary based on remote file system limitations.

persistent

OBJECTIVE-C

- (nonnull instancetype)initWithImage:(nonnull UIImage *)image name:(nonnull NSString *)name persistent:(BOOL)persistent asImageFormat:(SDLArtworkImageFormat)imageFormat;

SWIFT

init(image: UIImage, name: String, persistent: Bool, as imageFormat: SDLArtworkImageFormat)

PARAMETERS

Whether or not the artwork should be persistent.

imageFormat

Whether the image should be converted to a PNG or JPG before

transmission. Images with transparency or few colors should be PNGs.

Images with many colors should be JPGs.

An instance of this class to be passed to the file manager.

SDLAudioPassThruCapabilities ClassReference

Section Contents

• samplingRate• bitsPerSample• audioType

Overview

Describes different audio type configurations for SDLPerformAudioPassThru,

e.g. {8kHz,8-bit,PCM}

Parameter List

RETURN VALUE

Name Type DescriptionSmartDeviceLink Ver.Available

Since SmartDeviceLink 2.0

samplingRate

@abstract The sampling rate for AudioPassThru

samplingRate SDLSamplingRateDescribes thesampling rate forAudioPassThru

SmartDeviceLink 2.0

bitsPerSample SDLBitsPerSample

Describes thesample depth inbit forAudioPassThru

SmartDeviceLink 2.0

audioType SDLAudioType Describes theaudiotype forAudioPassThru

SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLSamplingRate _Nonnull samplingRate;

SWIFT

var samplingRate: SDLSamplingRate { get set }

bitsPerSample

@abstract The sample depth in bit for AudioPassThru

audioType

@abstract The audiotype for AudioPassThru

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLBitsPerSample _Nonnull bitsPerSample;

SWIFT

var bitsPerSample: SDLBitsPerSample { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLAudioType _Nonnull audioType;

SDLAudioStreamManager ClassReference

Section Contents

• delegate• playing• queue• -init• -initWithManager:• -pushWithFileURL:• -playNextWhenReady• -stop

Overview

Undocumented

delegate

Undocumented

SWIFT

var audioType: SDLAudioType { get set }

playing

Undocumented

queue

Undocumented

OBJECTIVE-C

@property (weak, nonatomic) id<SDLAudioStreamManagerDelegate> delegate

OBJECTIVE-C

@property (assign, nonatomic, readonly, getter=isPlaying) BOOL playing

SWIFT

var isPlaying: Bool { get }

-init

Undocumented

-initWithManager:

Undocumented

OBJECTIVE-C

@property (copy, nonatomic, readonly) NSArray<SDLAudioFile *> *queue

SWIFT

var queue: [SDLAudioFile] { get }

OBJECTIVE-C

- (instancetype)init NS_UNAVAILABLE;

-pushWithFileURL:

Push a new file URL onto the queue after converting it into the correct PCM

format for streaming binary data. Call playNextWhenReady to start playing

the next completed pushed file.

Note

This happens on a serial background thread and will provide an error callback

using the delegate if the conversion fails.

OBJECTIVE-C

- (instancetype)initWithManager:(id<SDLStreamingAudioManagerType>)streamManager NS_DESIGNATED_INITIALIZER;

OBJECTIVE-C

- (void)pushWithFileURL:(nonnull NSURL *)fileURL;

SWIFT

func push(withFileURL fileURL: URL)

fileURL

File URL to convert

-playNextWhenReady

Play the next item in the queue. If an item is currently playing, it will continue

playing and this item will begin playing after it is completed.

When complete, this will callback on the delegate.

-stop

Stop playing the queue after the current item completes and clear the queue. If

nothing is playing, the queue will be cleared.

PARAMETERS

OBJECTIVE-C

- (void)playNextWhenReady;

SWIFT

func playNextWhenReady()

SDLBeltStatus Class Reference

Section Contents

• driverBeltDeployed• passengerBeltDeployed• passengerBuckleBelted• driverBuckleBelted• leftRow2BuckleBelted• passengerChildDetected• rightRow2BuckleBelted• middleRow2BuckleBelted• middleRow3BuckleBelted• leftRow3BuckleBelted• rightRow3BuckleBelted• leftRearInflatableBelted

OBJECTIVE-C

- (void)stop;

SWIFT

func stop()

• rightRearInflatableBelted• middleRow1BeltDeployed• middleRow1BuckleBelted

Overview

Undocumented

driverBeltDeployed

Undocumented

passengerBeltDeployed

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus driverBeltDeployed

SWIFT

var driverBeltDeployed: SDLVehicleDataEventStatus { get set }

passengerBuckleBelted

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus passengerBeltDeployed

SWIFT

var passengerBeltDeployed: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus passengerBuckleBelted

SWIFT

var passengerBuckleBelted: SDLVehicleDataEventStatus { get set }

driverBuckleBelted

Undocumented

leftRow2BuckleBelted

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus driverBuckleBelted

SWIFT

var driverBuckleBelted: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus leftRow2BuckleBelted

passengerChildDetected

Undocumented

rightRow2BuckleBelted

Undocumented

SWIFT

var leftRow2BuckleBelted: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus passengerChildDetected

SWIFT

var passengerChildDetected: SDLVehicleDataEventStatus { get set }

middleRow2BuckleBelted

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus rightRow2BuckleBelted

SWIFT

var rightRow2BuckleBelted: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus middleRow2BuckleBelted

SWIFT

var middleRow2BuckleBelted: SDLVehicleDataEventStatus { get set }

middleRow3BuckleBelted

Undocumented

leftRow3BuckleBelted

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus middleRow3BuckleBelted

SWIFT

var middleRow3BuckleBelted: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus leftRow3BuckleBelted

rightRow3BuckleBelted

Undocumented

leftRearInflatableBelted

Undocumented

SWIFT

var leftRow3BuckleBelted: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus rightRow3BuckleBelted

SWIFT

var rightRow3BuckleBelted: SDLVehicleDataEventStatus { get set }

rightRearInflatableBelted

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus leftRearInflatableBelted

SWIFT

var leftRearInflatableBelted: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus rightRearInflatableBelted

SWIFT

var rightRearInflatableBelted: SDLVehicleDataEventStatus { get set }

middleRow1BeltDeployed

Undocumented

middleRow1BuckleBelted

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus middleRow1BeltDeployed

SWIFT

var middleRow1BeltDeployed: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus middleRow1BuckleBelted

SDLBodyInformation Class Reference

Section Contents

• parkBrakeActive• ignitionStableStatus• ignitionStatus• driverDoorAjar• passengerDoorAjar• rearLeftDoorAjar• rearRightDoorAjar

Overview

The body information including power modes.

parkBrakeActive

@abstract References signal “PrkBrkActv_B_Actl”.

SWIFT

var middleRow1BuckleBelted: SDLVehicleDataEventStatus { get set }

ignitionStableStatus

@abstract References signal “Ignition_Switch_Stable”. See IgnitionStableStatus.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull parkBrakeActive;

SWIFT

var parkBrakeActive: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLIgnitionStableStatus _Nonnull ignitionStableStatus;

SWIFT

var ignitionStableStatus: SDLIgnitionStableStatus { get set }

ignitionStatus

@abstract References signal “Ignition_status”. See IgnitionStatus.

driverDoorAjar

@abstract References signal “DrStatDrv_B_Actl”.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLIgnitionStatus _Nonnull ignitionStatus;

SWIFT

var ignitionStatus: SDLIgnitionStatus { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *driverDoorAjar;

passengerDoorAjar

@abstract References signal “DrStatPsngr_B_Actl”.

rearLeftDoorAjar

@abstract References signal “DrStatRl_B_Actl”.

SWIFT

var driverDoorAjar: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *passengerDoorAjar;

SWIFT

var passengerDoorAjar: (NSNumber & SDLBool)? { get set }

rearRightDoorAjar

@abstract References signal “DrStatRr_B_Actl”.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *rearLeftDoorAjar;

SWIFT

var rearLeftDoorAjar: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *rearRightDoorAjar;

SWIFT

var rearRightDoorAjar: (NSNumber & SDLBool)? { get set }

SDLButtonCapabilities Class Reference

Section Contents

• name• shortPressAvailable• longPressAvailable• upDownAvailable

Overview

Provides information about the capabilities of a SDL HMI button.

@since SDL 1.0

name

@abstract The name of the SDL HMI button.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull name;

shortPressAvailable

@abstract A NSNumber value indicates whether the button supports a SHORT

press

Required, Boolean

longPressAvailable

@abstract A NSNumber value indicates whether the button supports a LONG

press

SWIFT

var name: SDLButtonName { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull shortPressAvailable;

SWIFT

var shortPressAvailable: NSNumber & SDLBool { get set }

Required, Boolean

upDownAvailable

@abstract A NSNumber value indicates whether the button supports “button

down” and “button up”

Required, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull longPressAvailable;

SWIFT

var longPressAvailable: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull upDownAvailable;

SDLButtonPress Class Reference

Section Contents

• -initWithButtonName:moduleType:• moduleType• buttonName• buttonPressMode

Overview

This RPC allows a remote control type mobile application to simulate a

hardware button press event.

-initWithButtonName:moduleType:

Undocumented

SWIFT

var upDownAvailable: NSNumber & SDLBool { get set }

buttonName

The name of supported RC climate or radio button.

buttonPressMode

Indicates whether this is a LONG or SHORT button press event.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull buttonName;

SWIFT

var buttonName: SDLButtonName { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLButtonPressMode _Nonnull buttonPressMode;

SDLCarWindowViewController ClassReference

Section Contents

• supportedOrientation

Overview

Note that if this is embedded in a UINavigationController and

UITabBarController, it will not lock orientation. You must lock your container

controller to a specific orientation.

supportedOrientation

Undocumented

SWIFT

var buttonPressMode: SDLButtonPressMode { get set }

SDLChangeRegistration ClassReference

Section Contents

• -initWithLanguage:hmiDisplayLanguage:• -

initWithLanguage:hmiDisplayLanguage:appName:ttsName:ngnMediaScreenAppName:vrSynonyms:• language• hmiDisplayLanguage• appName• ttsName• ngnMediaScreenAppName• vrSynonyms

OBJECTIVE-C

@property (nonatomic, assign) UIInterfaceOrientation supportedOrientation

SWIFT

var supportedOrientation: UIInterfaceOrientation { get set }

Overview

If the app recognizes during the app registration that the SDL HMI language

(voice/TTS and/or display) does not match the app language, the app will be

able (but does not need) to change this registration with changeRegistration

prior to app being brought into focus.

Any HMILevel allowed

@since SDL 2.0

-initWithLanguage:hmiDisplayLanguage:

Undocumented

-

initWithLanguage:hmiDisplayLanguage:appName:ttsName:ngnMediaScreenApp

Undocumented

OBJECTIVE-C

- (instancetype)initWithLanguage:(SDLLanguage)language hmiDisplayLanguage:(SDLLanguage)hmiDisplayLanguage;

SWIFT

init(language: SDLLanguage, hmiDisplayLanguage: SDLLanguage)

language

@abstract The language the app wants to change to

OBJECTIVE-C

- (instancetype)initWithLanguage:(SDLLanguage)language hmiDisplayLanguage:(SDLLanguage)hmiDisplayLanguage appName:(nullable NSString *)appName ttsName:(nullable NSArray<SDLTTSChunk *> *)ttsName ngnMediaScreenAppName:(nullable NSString *)ngnMediaScreenAppName vrSynonyms:(nullable NSArray<NSString *> *)vrSynonyms;

SWIFT

init(language: SDLLanguage, hmiDisplayLanguage: SDLLanguage, appName: String?, ttsName: [SDLTTSChunk]?, ngnMediaScreenAppName: String?, vrSynonyms: [String]?)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull language;

hmiDisplayLanguage

@abstract HMI display language

appName

Request a new app name registration

Optional, Max string length 100 chars

SWIFT

var language: SDLLanguage { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull hmiDisplayLanguage;

SWIFT

var hmiDisplayLanguage: SDLLanguage { get set }

ttsName

Request a new TTSName registration.

Optional, Array of SDLTTSChunk, 1 - 100 elements

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *appName;

SWIFT

var appName: String? { get set }

OBJECTIVE-C

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

ngnMediaScreenAppName

Request a new app short name registration

Optional, Max string length 100 chars

vrSynonyms

Request a new VR synonyms registration

Optional, Array of NSString, 1 - 100 elements, max string length 40 chars

SWIFT

var ttsName: [SDLTTSChunk]? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *ngnMediaScreenAppName;

SWIFT

var ngnMediaScreenAppName: String? { get set }

SDLChoice Class Reference

Section Contents

• -initWithId:menuName:vrCommands:• -

initWithId:menuName:vrCommands:image:secondaryText:secondaryImage:tertiaryText:• choiceID• menuName• vrCommands• image• secondaryText• tertiaryText• secondaryImage

OBJECTIVE-C

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

SWIFT

var vrSynonyms: [String]? { get set }

Overview

A choice is an option which a user can select either via the menu or via voice

recognition (VR) during an application initiated interaction.

Parameter List

Name Type DescriptionSmartDeviceLink Ver.Available

Since SmartDeviceLink 1.0

-initWithId:menuName:vrCommands:

Undocumented

choiceID NSNumber *

Application-scoped identifierthat uniquelyidentifies thischoice. Min: 0 Max: 65535

SmartDeviceLink 1.0

menuName NSString *

Text whichappears in menu,representing thischoice. Min: 1 Max: 100

SmartDeviceLink 1.0

vrCommands NSArray *

An array ofstrings to be usedas VR synonymsfor this choice. Ifthis array isprovided, it musthave at least onenon-emptyelement

SmartDeviceLink 1.0

image SDLImage *

Either a static hexicon value or abinary image filename identifier(sent by PutFile).

SmartDeviceLink 2.0

-

initWithId:menuName:vrCommands:image:secondaryText:secondaryImage:terti

Undocumented

OBJECTIVE-C

- (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrCommands:(NSArray<NSString *> *)vrCommands;

SWIFT

init(id choiceId: UInt16, menuName: String, vrCommands: [String])

OBJECTIVE-C

- (instancetype)initWithId:(UInt16)choiceId menuName:(NSString *)menuName vrCommands:(NSArray<NSString *> *)vrCommands image:(nullable SDLImage *)image secondaryText:(nullable NSString *)secondaryText secondaryImage:(nullable SDLImage *)secondaryImage tertiaryText:(nullable NSString *)tertiaryText;

choiceID

@abstract the application-scoped identifier that uniquely identifies this choice

Required, Integer 0 - 65535

menuName

@abstract Text which appears in menu, representing this choice

SWIFT

init(id choiceId: UInt16, menuName: String, vrCommands: [String], image: SDLImage?, secondaryText: String?, secondaryImage: SDLImage?, tertiaryText: String?)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull choiceID;

SWIFT

var choiceID: NSNumber & SDLInt { get set }

Required, Max string length 500 chars

vrCommands

@abstract VR synonyms for this choice

Required, Array of Strings, Array length 1 - 100, Max String length 99 chars

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull menuName;

SWIFT

var menuName: String { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<NSString *> *_Nonnull vrCommands;

image

@abstract The image of the choice

Optional

secondaryText

@abstract Optional secondary text to display; e.g. address of POI in a search

result entry

Optional, Max String length 500 chars

SWIFT

var vrCommands: [String] { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLImage *image;

SWIFT

var image: SDLImage? { get set }

tertiaryText

@abstract Optional tertiary text to display; e.g. distance to POI for a search

result entry

Optional, Max String length 500 chars

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *secondaryText;

SWIFT

var secondaryText: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *tertiaryText;

secondaryImage

@abstract Optional secondary image for choice

Optional

SWIFT

var tertiaryText: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLImage *secondaryImage;

SWIFT

var secondaryImage: SDLImage? { get set }

SDLClimateControlCapabilities ClassReference

Section Contents

• -

initWithModuleName:fanSpeedAvailable:desiredTemperatureAvailable:acEnableAvailable:acMaxEnableAvaila• moduleName• fanSpeedAvailable• desiredTemperatureAvailable• acEnableAvailable• acMaxEnableAvailable• circulateAirEnableAvailable• autoModeEnableAvailable• dualModeEnableAvailable• defrostZoneAvailable• defrostZone• ventilationModeAvailable• ventilationMode

Overview

Contains information about a climate control module’s capabilities.

-

initWithModuleName:fanSpeedAvailable:desiredTemperatureAvailable:acEnable

Undocumented

moduleName

@abstract The short friendly name of the climate control module. It should not

be used to identify a module by mobile application.

Max string length 100 chars

OBJECTIVE-C

- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable;

SWIFT

init(moduleName: String, fanSpeedAvailable: Bool, desiredTemperatureAvailable: Bool, acEnableAvailable: Bool, acMaxEnableAvailable: Bool, circulateAirAvailable circulateAirEnableAvailable: Bool, autoModeEnableAvailable: Bool, dualModeEnableAvailable: Bool, defrostZoneAvailable: Bool, ventilationModeAvailable: Bool)

fanSpeedAvailable

@abstract Availability of the control of fan speed. True: Available, False: Not

Available, Not present: Not Available.

Optional, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull moduleName;

SWIFT

var moduleName: String { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *fanSpeedAvailable;

desiredTemperatureAvailable

@abstract Availability of the control of desired temperature. True: Available,

False: Not Available, Not present: Not Available.

Optional, Boolean

acEnableAvailable

@abstract Availability of the control of turn on/off AC. True: Available, False: Not

Available, Not present: Not Available.

SWIFT

var fanSpeedAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *desiredTemperatureAvailable;

SWIFT

var desiredTemperatureAvailable: (NSNumber & SDLBool)? { get set }

Optional, Boolean

acMaxEnableAvailable

@abstract Availability of the control of enable/disable air conditioning is ON on

the maximum level. True: Available, False: Not Available, Not present: Not

Available.

Optional, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *acEnableAvailable;

SWIFT

var acEnableAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *acMaxEnableAvailable;

circulateAirEnableAvailable

@abstract Availability of the control of enable/disable circulate Air mode. True:

Available, False: Not Available, Not present: Not Available.

Optional, Boolean

autoModeEnableAvailable

@abstract Availability of the control of enable/disable auto mode. True:

Available, False: Not Available, Not present: Not Available.

SWIFT

var acMaxEnableAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *circulateAirEnableAvailable;

SWIFT

var circulateAirEnableAvailable: (NSNumber & SDLBool)? { get set }

Optional, Boolean

dualModeEnableAvailable

@abstract Availability of the control of enable/disable dual mode. True:

Available, False: Not Available, Not present: Not Available.

Optional, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *autoModeEnableAvailable;

SWIFT

var autoModeEnableAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *dualModeEnableAvailable;

defrostZoneAvailable

@abstract Availability of the control of defrost zones. True: Available, False: Not

Available, Not present: Not Available.

Optional, Boolean

defrostZone

@abstract A set of all defrost zones that are controllable.

SWIFT

var dualModeEnableAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *defrostZoneAvailable;

SWIFT

var defrostZoneAvailable: (NSNumber & SDLBool)? { get set }

Optional, NSArray of type SDLDefrostZone minsize=“1” maxsize=“100”

ventilationModeAvailable

@abstract Availability of the control of air ventilation mode. True: Available,

False: Not Available, Not present: Not Available.

Optional, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLDefrostZone> *defrostZone;

SWIFT

var defrostZone: [SDLDefrostZone]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *ventilationModeAvailable;

ventilationMode

@abstract A set of all ventilation modes that are controllable. True: Available,

False: Not Available, Not present: Not Available.

Optional, NSArray of type SDLVentilationMode minsize=“1” maxsize=“100”

SWIFT

var ventilationModeAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLVentilationMode> *ventilationMode;

SWIFT

var ventilationMode: [SDLVentilationMode]? { get set }

SDLClimateControlData Class Reference

Section Contents

• -

initWithFanSpeed:desiredTemperature:acEnable:circulateAirEnable:autoModeEnable:defrostZone:dualModeE• fanSpeed• currentTemperature• desiredTemperature• acEnable• circulateAirEnable• autoModeEnable• defrostZone• dualModeEnable• acMaxEnable• ventilationMode

Overview

Undocumented

-

initWithFanSpeed:desiredTemperature:acEnable:circulateAirEnable:autoModeEn

Undocumented

fanSpeed

@abstract Speed of Fan in integer

Optional, MinValue- 0 MaxValue= 100

OBJECTIVE-C

- (instancetype)initWithFanSpeed:(nullable NSNumber<SDLInt> *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber<SDLBool> *)acEnable circulateAirEnable:(nullable NSNumber<SDLBool> *)circulateAirEnable autoModeEnable:(nullable NSNumber<SDLBool> *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber<SDLBool> *)dualModeEnable acMaxEnable:(nullable NSNumber<SDLBool> *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode;

SWIFT

init(fanSpeed: (NSNumber & SDLInt)?, desiredTemperature: SDLTemperature?, acEnable: (NSNumber & SDLBool)?, circulateAirEnable: (NSNumber & SDLBool)?, autoModeEnable: (NSNumber & SDLBool)?, defrostZone: SDLDefrostZone?, dualModeEnable: (NSNumber & SDLBool)?, acMaxEnable: (NSNumber & SDLBool)?, ventilationMode: SDLVentilationMode?)

currentTemperature

@abstract The Current Temperature in SDLTemperature

WarningThis property is readonly and cannot be set on the module. Optional

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *fanSpeed;

SWIFT

var fanSpeed: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLTemperature *currentTemperature;

desiredTemperature

@abstract Desired Temperature in SDLTemperature

Optional

acEnable

@abstract Represents if AC is enabled.

Optional, Boolean

SWIFT

var currentTemperature: SDLTemperature? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLTemperature *desiredTemperature;

SWIFT

var desiredTemperature: SDLTemperature? { get set }

circulateAirEnable

@abstract Represents if circulation of air is enabled.

Optional, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *acEnable;

SWIFT

var acEnable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *circulateAirEnable;

autoModeEnable

@abstract Represents if auto mode is enabled.

Optional, Boolean

defrostZone

@abstract Represents the kind of defrost zone

Optional, SDLDefrostZone

SWIFT

var circulateAirEnable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *autoModeEnable;

SWIFT

var autoModeEnable: (NSNumber & SDLBool)? { get set }

dualModeEnable

@abstract Represents if dual mode is enabled.

Optional, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLDefrostZone defrostZone;

SWIFT

var defrostZone: SDLDefrostZone? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *dualModeEnable;

acMaxEnable

@abstract Represents if ac max is enabled.

Optional, Boolean

ventilationMode

@abstract Represents the kind of Ventilation zone

Optional, SDLVentilationMode

SWIFT

var dualModeEnable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *acMaxEnable;

SWIFT

var acMaxEnable: (NSNumber & SDLBool)? { get set }

SDLClusterModeStatus Class Reference

Section Contents

• powerModeActive• powerModeQualificationStatus• carModeStatus• powerModeStatus

Overview

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVentilationMode ventilationMode;

SWIFT

var ventilationMode: SDLVentilationMode? { get set }

powerModeActive

Undocumented

powerModeQualificationStatus

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLBool> *powerModeActive

SWIFT

var powerModeActive: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLPowerModeQualificationStatus powerModeQualificationStatus

carModeStatus

Undocumented

powerModeStatus

Undocumented

SWIFT

var powerModeQualificationStatus: SDLPowerModeQualificationStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLCarModeStatus carModeStatus

SWIFT

var carModeStatus: SDLCarModeStatus { get set }

SDLConfiguration Class Reference

Section Contents

• lifecycleConfig• lockScreenConfig• loggingConfig• streamingMediaConfig• -initWithLifecycle:lockScreen:logging:• +configurationWithLifecycle:lockScreen:logging:• -initWithLifecycle:lockScreen:logging:streamingMedia:• +configurationWithLifecycle:lockScreen:logging:streamingMedia:

Overview

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLPowerModeStatus powerModeStatus

SWIFT

var powerModeStatus: SDLPowerModeStatus { get set }

lifecycleConfig

The lifecycle configuration.

lockScreenConfig

The lock screen configuration.

OBJECTIVE-C

@property (readonly, copy, nonatomic) SDLLifecycleConfiguration *_Nonnull lifecycleConfig;

SWIFT

@NSCopying var lifecycleConfig: SDLLifecycleConfiguration { get }

OBJECTIVE-C

@property (readonly, copy, nonatomic) SDLLockScreenConfiguration *_Nonnull lockScreenConfig;

loggingConfig

The log configuration.

streamingMediaConfig

The configuration

SWIFT

@NSCopying var lockScreenConfig: SDLLockScreenConfiguration { get }

OBJECTIVE-C

@property (readonly, copy, nonatomic) SDLLogConfiguration *_Nonnull loggingConfig;

SWIFT

@NSCopying var loggingConfig: SDLLogConfiguration { get }

-initWithLifecycle:lockScreen:logging:

Create a new configuration to be passed into SDLManager with a custom

lifecycle, lock screen, and logging configuration.

OBJECTIVE-C

@property (readonly, copy, nonatomic) SDLStreamingMediaConfiguration *_Nonnull streamingMediaConfig;

SWIFT

@NSCopying var streamingMediaConfig: SDLStreamingMediaConfiguration { get }

OBJECTIVE-C

- (nonnull instancetype)initWithLifecycle:(nonnull SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig;

lifecycleConfig

The lifecycle configuration to be used.

lockScreenConfig

The lockscreen configuration to be used, or enabledConfiguration if

nil.

logConfig

The logging configuration to be used, or defaultConfiguration if nil.

The configuration

SWIFT

init(lifecycle lifecycleConfig: SDLLifecycleConfiguration, lockScreen lockScreenConfig: SDLLockScreenConfiguration?, logging logConfig: SDLLogConfiguration?)

PARAMETERS

RETURN VALUE

+configurationWithLifecycle:lockScreen:logging:

Create a new configuration to be passed into SDLManager with a custom

lifecycle, lock screen, and logging configuration.

lifecycleConfig

The lifecycle configuration to be used.

lockScreenConfig

The lockscreen configuration to be used, or enabledConfiguration if

nil.

logConfig

The logging configuration to be used, or defaultConfiguration if nil.

OBJECTIVE-C

+ (nonnull instancetype)configurationWithLifecycle:(nonnull SDLLifecycleConfiguration *)lifecycleConfig lockScreen: (nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig;

PARAMETERS

The configuration

-

initWithLifecycle:lockScreen:logging:streamingMedia:

Create a new configuration to be passed into SDLManager with a custom

lifecycle, lock screen, logging, and streaming media configuration.

RETURN VALUE

OBJECTIVE-C

- (nonnull instancetype)initWithLifecycle:(nonnull SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia: (nullable SDLStreamingMediaConfiguration *)streamingMediaConfig;

SWIFT

init(lifecycle lifecycleConfig: SDLLifecycleConfiguration, lockScreen lockScreenConfig: SDLLockScreenConfiguration?, logging logConfig: SDLLogConfiguration?, streamingMedia streamingMediaConfig: SDLStreamingMediaConfiguration?)

lifecycleConfig

The lifecycle configuration to be used.

lockScreenConfig

The lockscreen configuration to be used, or enabledConfiguration if

nil.

logConfig

The logging configuration to be used, or defaultConfiguration if nil.

streamingMediaConfig

The streaming media configuration to be used, or nil because it is not

needed.

The configuration

+configurationWithLifecycle:lockScreen:logging:streamingMedia:

Create a new configuration to be passed into SDLManager with a custom

lifecycle, lock screen, logging, and streaming media configuration.

PARAMETERS

RETURN VALUE

lifecycleConfig

The lifecycle configuration to be used.

lockScreenConfig

The lockscreen configuration to be used, or enabledConfiguration if

nil.

logConfig

The logging configuration to be used, or defaultConfiguration if nil.

streamingMediaConfig

OBJECTIVE-C

+ (nonnull instancetype)configurationWithLifecycle:(nonnull SDLLifecycleConfiguration *)lifecycleConfig lockScreen: (nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia: (nullable SDLStreamingMediaConfiguration *)streamingMediaConfig;

PARAMETERS

The streaming media configuration to be used, or nil because it is not

needed.

The configuration

SDLCreateInteractionChoiceSet ClassReference

Section Contents

• -initWithId:choiceSet:• interactionChoiceSetID• choiceSet

Overview

Creates a Choice Set which can be used in subsequent SDLPerformInteraction

Operations.

HMILevel needs to be FULL, LIMITED or BACKGROUND

Before a perform interaction is sent you MUST wait for the success from the

CreateInteractionChoiceSet RPC.

If you do not wait the system may not recognize the first utterance from the

user.

@since SDL 1.0

See

RETURN VALUE

SDLDeleteInteractionChoiceSet SDLPerformInteraction

-initWithId:choiceSet:

Undocumented

interactionChoiceSetID

@abstract A unique ID that identifies the Choice Set

Required, Integer, 0 - 2,000,000,000

OBJECTIVE-C

- (instancetype)initWithId:(UInt32)choiceId choiceSet:(NSArray<SDLChoice *> *)choiceSet;

SWIFT

init(id choiceId: UInt32, choiceSet: [SDLChoice])

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull interactionChoiceSetID;

choiceSet

@abstract Array of choices, which the user can select by menu or voice

recognition

Required, SDLChoice, Array size 1 - 100

SWIFT

var interactionChoiceSetID: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<SDLChoice *> *_Nonnull choiceSet;

SWIFT

var choiceSet: [SDLChoice] { get set }

SDLDIDResult Class Reference

Section Contents

• resultCode• didLocation• data

Overview

Undocumented

resultCode

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataResultCode resultCode

SWIFT

var resultCode: SDLVehicleDataResultCode { get set }

didLocation

Undocumented

data

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *didLocation

SWIFT

var didLocation: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *data

SDLDateTime Class Reference

Section Contents

• -initWithHour:minute:• -initWithHour:minute:second:millisecond:• -initWithHour:minute:second:millisecond:day:month:year:• -

initWithHour:minute:second:millisecond:day:month:year:timezoneMinuteOffset:timezoneHourOffset:• millisecond• second• minute• hour• day• month• year• timezoneMinuteOffset• timezoneHourOffset

Overview

Undocumented

SWIFT

var data: String? { get set }

-initWithHour:minute:

Undocumented

-initWithHour:minute:second:millisecond:

Undocumented

OBJECTIVE-C

- (instancetype)initWithHour:(UInt8)hour minute:(UInt8)minute;

SWIFT

init(hour: UInt8, minute: UInt8)

OBJECTIVE-C

- (instancetype)initWithHour:(UInt8)hour minute:(UInt8)minute second:(UInt8)second millisecond:(UInt16)millisecond;

-

initWithHour:minute:second:millisecond:day:month:year:

Undocumented

SWIFT

init(hour: UInt8, minute: UInt8, second: UInt8, millisecond: UInt16)

OBJECTIVE-C

- (instancetype)initWithHour:(UInt8)hour minute:(UInt8)minute second:(UInt8)second millisecond:(UInt16)millisecond day:(UInt8)day month:(UInt8)month year:(UInt16)year;

SWIFT

init(hour: UInt8, minute: UInt8, second: UInt8, millisecond: UInt16, day: UInt8, month: UInt8, year: UInt16)

-

initWithHour:minute:second:millisecond:day:month:year:timezoneMinuteOffset

Undocumented

millisecond

@abstract Milliseconds part of time

Optional, Integer 0 - 999

OBJECTIVE-C

- (instancetype)initWithHour:(UInt8)hour minute:(UInt8)minute second:(UInt8)second millisecond:(UInt16)millisecond day:(UInt8)day month:(UInt8)month year:(UInt16)year timezoneMinuteOffset:(UInt8)timezoneMinuteOffset timezoneHourOffset:(int)timezoneHourOffset;

SWIFT

init(hour: UInt8, minute: UInt8, second: UInt8, millisecond: UInt16, day: UInt8, month: UInt8, year: UInt16, timezoneMinuteOffset: UInt8, timezoneHourOffset: Int32)

second

@abstract Seconds part of time

Optional, Integer 0 - 59

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLInt> *_Nonnull millisecond;

SWIFT

@NSCopying var millisecond: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLInt> *_Nonnull second;

minute

@abstract Minutes part of time

Optional, Integer 0 - 59

hour

@abstract Hour part of time

Optional, Integer 0 - 23

SWIFT

@NSCopying var second: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLInt> *_Nonnull minute;

SWIFT

@NSCopying var minute: NSNumber & SDLInt { get set }

day

@abstract Day of the month

Optional, Integer 1 - 31

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLInt> *_Nonnull hour;

SWIFT

@NSCopying var hour: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLInt> *_Nonnull day;

month

@abstract Month of the year

Optional, Integer 1 - 12

year

@abstract The year in YYYY format

Optional, Max Value 4095

SWIFT

@NSCopying var day: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLInt> *_Nonnull month;

SWIFT

@NSCopying var month: NSNumber & SDLInt { get set }

timezoneMinuteOffset

@abstract Time zone offset in Min with regard to UTC

Optional, Integer 0 - 59

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLInt> *_Nonnull year;

SWIFT

@NSCopying var year: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLInt> *_Nonnull timezoneMinuteOffset;

timezoneHourOffset

@abstract Time zone offset in Hours with regard to UTC

Optional, Integer -12 - 14

SWIFT

@NSCopying var timezoneMinuteOffset: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLInt> *_Nonnull timezoneHourOffset;

SWIFT

@NSCopying var timezoneHourOffset: NSNumber & SDLInt { get set }

SDLDeleteCommand Class Reference

Section Contents

• -initWithId:• cmdID

Overview

Removes a command from the Command Menu

HMI Status Requirements:

HMILevel: FULL, LIMITED or BACKGROUND

AudioStreamingState: N/A

SystemContext: Should not be attempted when VRSESSION or MENU

Since SmartDeviceLink 1.0

see SDLAddCommand SDLAddSubMenu SDLDeleteSubMenu

-initWithId:

Undocumented

OBJECTIVE-C

- (instancetype)initWithId:(UInt32)commandId;

cmdID

@abstract the Command ID that identifies the Command to be deleted from

Command Menu @discussion an NSNumber value representing Command ID

Notes: Min Value: 0; Max Value: 2000000000

SWIFT

init(id commandId: UInt32)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull cmdID;

SWIFT

var cmdID: NSNumber & SDLInt { get set }

SDLDeleteFile Class Reference

Section Contents

• -initWithFileName:• syncFileName

Overview

Used to delete a file resident on the SDL module in the app’s local cache. Not

supported on first generation SDL vehicles

Since SmartDeviceLink 2.0

see SDLPutFile SDLListFiles

-initWithFileName:

Undocumented

OBJECTIVE-C

- (instancetype)initWithFileName:(NSString *)fileName;

SWIFT

init(fileName: String)

syncFileName

@abstract a file reference name @discussion a String value representing a file

reference name

SDLDeleteFileResponse Class Reference

Section Contents

• spaceAvailable

Overview

Delete File Response is sent, when DeleteFile has been called

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull syncFileName;

SWIFT

var syncFileName: String { get set }

Since SmartDeviceLink 2.0

spaceAvailable

Undocumented

SDLDeleteInteractionChoiceSet ClassReference

Section Contents

• -initWithId:

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *spaceAvailable

SWIFT

var spaceAvailable: NSNumber & SDLInt { get set }

• interactionChoiceSetID

Overview

Deletes an existing Choice Set identified by the parameter

interactionChoiceSetID. If the specified interactionChoiceSetID is currently in

use by an active SDLPerformInteraction this call to delete the Choice Set will

fail returning an IN_USE resultCode

Function Group: Base

HMILevel needs to be FULL, LIMITED or BACKGROUD

Since SmartDeviceLink 1.0

see SDLCreateInteractionChoiceSet SDLPerformInteraction

-initWithId:

Undocumented

OBJECTIVE-C

- (instancetype)initWithId:(UInt32)choiceId;

SWIFT

init(id choiceId: UInt32)

interactionChoiceSetID

@abstract a unique ID that identifies the Choice Set @discussion a unique ID

that identifies the Choice Set

Notes: Min Value: 0; Max Value: 2000000000

SDLDeleteSubMenu Class Reference

Section Contents

• -initWithId:

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull interactionChoiceSetID;

SWIFT

var interactionChoiceSetID: NSNumber & SDLInt { get set }

• menuID

Overview

Deletes a submenu from the Command Menu

Notes: When an app deletes a submenu that has child commands, those child

commands are also deleted

HMILevel needs to be FULL, LIMITED or BACKGROUND

Since SmartDeviceLink 1.0

see SDLAddCommand SDLAddSubMenu SDLDeleteCommand

-initWithId:

Undocumented

OBJECTIVE-C

- (instancetype)initWithId:(UInt32)menuId;

SWIFT

init(id menuId: UInt32)

menuID

@abstract the MenuID that identifies the SDLSubMenu to be delete @discussion

Notes: Min Value: 0; Max Value: 2000000000

SDLDeviceInfo Class Reference

Section Contents

• +currentDevice• hardware• firmwareRev• os• osVersion• carrier

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull menuID;

SWIFT

var menuID: NSNumber & SDLInt { get set }

• maxNumberRFCOMMPorts

Overview

Undocumented

+currentDevice

Undocumented

hardware

Undocumented

OBJECTIVE-C

+ (instancetype)currentDevice;

SWIFT

class func currentDevice() -> Self

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *hardware

firmwareRev

Undocumented

os

Undocumented

SWIFT

var hardware: String? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *firmwareRev

SWIFT

var firmwareRev: String? { get set }

osVersion

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *os

SWIFT

var os: String? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *osVersion

SWIFT

var osVersion: String? { get set }

carrier

Undocumented

maxNumberRFCOMMPorts

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *carrier

SWIFT

var carrier: String? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLInt> *maxNumberRFCOMMPorts

SDLDeviceStatus Class Reference

Section Contents

• voiceRecOn• btIconOn• callActive• phoneRoaming• textMsgAvailable• battLevelStatus• stereoAudioOutputMuted• monoAudioOutputMuted• signalLevelStatus• primaryAudioSource• eCallEventActive

Overview

Describes the status related to a connected mobile device or SDL and if or how

it is represented in the vehicle.

Parameter List

SWIFT

var maxNumberRFCOMMPorts: (NSNumber & SDLInt)? { get set }

Name Type DescriptionSmartDeviceLink Ver.Available

@since SDL 2.0

voiceRecOn

@abstract Indicates whether the voice recognition is on or off

Required, Boolean

voiceRecOn NSNumber * Voice recognitionis on

SmartDeviceLink 2.0

btIconOn NSNumber * Bluetoothconnectionestablished

SmartDeviceLink 2.0

callActive NSNumber * A call is beingactive

SmartDeviceLink 2.0

phoneRoaming NSNumber * The phone is inroaming mode

SmartDeviceLink 2.0

textMsgAvailable NSNumber * A textmessage is

available SmartDeviceLink 2.0

battLevelStatus SDLDeviceLevelStatus *

Battery levelstatus

SmartDeviceLink 2.0

stereoAudioOutputMuted NSNumber *

Status of thestereo audiooutput channel

SmartDeviceLink 2.0

monoAudioOutputMuted NSNumber *

Status of themono audiooutput channel

SmartDeviceLink 2.0

signalLevelStatus

SDLDeviceLevelStatus * Signal level status SmartDeviceLin

k 2.0

primaryAudioSource

PrimaryAudioSource *

Reflects thecurrent primaryaudio source ofSDL (if selected).

SmartDeviceLink 2.0

eCallEventActive NSNumber *

Reflects, if aneCall event isactive

SmartDeviceLink 2.0

btIconOn

@abstract Indicates whether the bluetooth connection established

Required, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull voiceRecOn;

SWIFT

var voiceRecOn: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull btIconOn;

callActive

@abstract Indicates whether a call is being active

Required, Boolean

phoneRoaming

@abstract Indicates whether the phone is in roaming mode

Required, Boolean

SWIFT

var btIconOn: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull callActive;

SWIFT

var callActive: NSNumber & SDLBool { get set }

textMsgAvailable

@abstract Indicates whether a textmessage is available

Required, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull phoneRoaming;

SWIFT

var phoneRoaming: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull textMsgAvailable;

battLevelStatus

@abstract Battery level status

SeeSDLDeviceLevelStatus Required

stereoAudioOutputMuted

@abstract The status of the stereo audio output channel

SWIFT

var textMsgAvailable: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLDeviceLevelStatus _Nonnull battLevelStatus;

SWIFT

var battLevelStatus: SDLDeviceLevelStatus { get set }

Required, Boolean

monoAudioOutputMuted

@abstract The status of the mono audio output channel

Required, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull stereoAudioOutputMuted;

SWIFT

var stereoAudioOutputMuted: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull monoAudioOutputMuted;

signalLevelStatus

@abstract Signal level status

SeeSDLDeviceLevelStatus Required

primaryAudioSource

@abstract The current primary audio source of SDL (if selected).

See

SWIFT

var monoAudioOutputMuted: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLDeviceLevelStatus _Nonnull signalLevelStatus;

SWIFT

var signalLevelStatus: SDLDeviceLevelStatus { get set }

SDLPrimaryAudioSource Required

eCallEventActive

@abstract Indicates if an emergency call is active

Required, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLPrimaryAudioSource _Nonnull primaryAudioSource;

SWIFT

var primaryAudioSource: SDLPrimaryAudioSource { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull eCallEventActive;

SDLDiagnosticMessage Class Reference

Section Contents

• -initWithTargetId:length:data:• targetID• messageLength• messageData

Overview

Non periodic vehicle diagnostic request

@since SDL 3.0

-initWithTargetId:length:data:

Undocumented

SWIFT

var eCallEventActive: NSNumber & SDLBool { get set }

targetID

Name of target ECU

Required, Integer, 0 - 65535

OBJECTIVE-C

- (instancetype)initWithTargetId:(UInt16)targetId length:(UInt16)length data:(NSArray<NSNumber<SDLUInt> *> *)data;

SWIFT

init(targetId: UInt16, length: UInt16, data: [NSNumber & SDLUInt])

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull targetID;

messageLength

Length of message (in bytes)

Required, Integer, 65535

messageData

Array of bytes comprising CAN message.

SWIFT

var targetID: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull messageLength;

SWIFT

var messageLength: NSNumber & SDLInt { get set }

Required, Array of NSNumber (Integers), Array size 1 - 65535, Integer Size 0 -

255

SDLDiagnosticMessageResponse ClassReference

Section Contents

• messageDataResult

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<NSNumber<SDLInt> *> *_Nonnull messageData;

SWIFT

var messageData: [NSNumber & SDLInt] { get set }

Overview

SDLDiagnosticMessageResponse is sent, when SDLDiagnosticMessage has been

called.

• SinceSmartDeviceLink 3.0

messageDataResult

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSArray<NSNumber<SDLInt> *> *messageDataResult

SWIFT

var messageDataResult: [NSNumber & SDLInt] { get set }

SDLDialNumber Class Reference

Section Contents

• -initWithNumber:• number

Overview

This RPC is used to tell the head unit to use bluetooth to dial a phone number

using the phone.

@since SDL 4.0

-initWithNumber:

Undocumented

OBJECTIVE-C

- (instancetype)initWithNumber:(NSString *)number;

SWIFT

init(number: String)

number

Up to 40 character string representing the phone number. All characters

stripped except for ‘0’-‘9’, ‘*’, ‘#’, ‘,’, ‘;’, and ‘+’

SDLDisplayCapabilities Class Reference

Section Contents

• displayType• textFields• imageFields• mediaClockFormats• graphicSupported• templatesAvailable• screenParams

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull number;

SWIFT

var number: String { get set }

• numCustomPresetsAvailable

Overview

Contains information about the display for the SDL system to which the

application is currently connected.

@since SDL 1.0

displayType

@abstract The type of display

Required

textFields

@abstract An array of SDLTextField structures, each of which describes a field in

the HMI which the application can write to using operations such as SDLShow,

SDLSetMediaClockTimer, etc.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLDisplayType _Nonnull displayType;

SWIFT

var displayType: SDLDisplayType { get set }

@discussion This array of SDLTextField structures identify all the text fields to

which the application can write on the current display (identified by

SDLDisplayType).

SeeSDLTextField Required, Array of SDLTextField, 1 - 100 objects

imageFields

@abstract An array of SDLImageField elements

@discussion A set of all fields that support images.

SeeSDLImageField Optional, Array of SDLImageField, 1 - 100 objects

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<SDLTextField *> *_Nonnull textFields;

SWIFT

var textFields: [SDLTextField] { get set }

mediaClockFormats

@abstract An array of SDLMediaClockFormat elements, defining the valid string

formats used in specifying the contents of the media clock field

SeeSDLMediaClockFormat Required, Array of SDLMediaClockFormats, 0 - 100 objects

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLImageField *> *imageFields;

SWIFT

var imageFields: [SDLImageField]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<SDLMediaClockFormat> *_Nonnull mediaClockFormats;

graphicSupported

@abstract The display’s persistent screen supports.

@since SDL 2.0

Required, Boolean

templatesAvailable

@abstract Number of presets the screen supports

SWIFT

var mediaClockFormats: [SDLMediaClockFormat] { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull graphicSupported;

SWIFT

var graphicSupported: NSNumber & SDLBool { get set }

@discussion The number of on-screen custom presets available (if any)

Optional, Array of String, max string size 100, 0 - 100 objects

screenParams

@abstract A set of all parameters related to a prescribed screen area (e.g. for

video / touch input)

Optional

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<NSString *> *templatesAvailable;

SWIFT

var templatesAvailable: [String]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLScreenParams *screenParams;

numCustomPresetsAvailable

@abstract The number of on-screen custom presets available (if any);

otherwise omitted

Optional, Integer 1 - 100

SWIFT

var screenParams: SDLScreenParams? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *numCustomPresetsAvailable;

SWIFT

var numCustomPresetsAvailable: (NSNumber & SDLInt)? { get set }

SDLECallInfo Class Reference

Section Contents

• eCallNotificationStatus• auxECallNotificationStatus• eCallConfirmationStatus

Overview

Undocumented

eCallNotificationStatus

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataNotificationStatus eCallNotificationStatus

SWIFT

var eCallNotificationStatus: SDLVehicleDataNotificationStatus { get set }

auxECallNotificationStatus

Undocumented

eCallConfirmationStatus

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataNotificationStatus auxECallNotificationStatus

SWIFT

var auxECallNotificationStatus: SDLVehicleDataNotificationStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLECallConfirmationStatus eCallConfirmationStatus

SDLEmergencyEvent Class Reference

Section Contents

• emergencyEventType• fuelCutoffStatus• rolloverEvent• maximumChangeVelocity• multipleEvents

Overview

Undocumented

emergencyEventType

Undocumented

SWIFT

var eCallConfirmationStatus: SDLECallConfirmationStatus { get set }

fuelCutoffStatus

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLEmergencyEventType emergencyEventType

SWIFT

var emergencyEventType: SDLEmergencyEventType { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLFuelCutoffStatus fuelCutoffStatus

SWIFT

var fuelCutoffStatus: SDLFuelCutoffStatus { get set }

rolloverEvent

Undocumented

maximumChangeVelocity

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus rolloverEvent

SWIFT

var rolloverEvent: SDLVehicleDataEventStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *maximumChangeVelocity

multipleEvents

Undocumented

SWIFT

var maximumChangeVelocity: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataEventStatus multipleEvents

SWIFT

var multipleEvents: SDLVehicleDataEventStatus { get set }

SDLEncodedSyncPData Class Reference

Section Contents

• data

Overview

Undocumented

data

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSArray<NSString *> *data

SWIFT

var data: [String] { get set }

SDLFile Class Reference

Section Contents

• persistent• overwrite• name• fileURL• data• fileSize• fileType• inputStream• -init• -initWithFileURL:name:persistent:• +persistentFileAtFileURL:name:• +fileAtFileURL:name:• -initWithData:name:fileExtension:persistent:• +persistentFileWithData:name:fileExtension:• +fileWithData:name:fileExtension:

Overview

Undocumented

persistent

Whether or not the file should persist on disk between car ignition cycles.

overwrite

Whether or not the file should overwrite an existing file on the remote disk with

the same name.

OBJECTIVE-C

@property (readonly, getter=isPersistent, assign, nonatomic) BOOL persistent;

SWIFT

var isPersistent: Bool { get }

OBJECTIVE-C

@property (assign, readwrite, nonatomic) BOOL overwrite;

SWIFT

var overwrite: Bool { get set }

name

The name the file should be stored under on the remote disk. This is how the

file will be referenced in all later calls.

fileURL

The url the local file is stored at while waiting to push it to the remote system. If

the data has not been passed to the file URL, this will be nil.

OBJECTIVE-C

@property (readonly, copy, nonatomic) NSString *_Nonnull name;

SWIFT

var name: String { get }

OBJECTIVE-C

@property (readonly, copy, nonatomic, nullable) NSURL *fileURL;

data

The binary data of the SDLFile. If initialized with data, this will be a relatively

quick call, but if initialized with a file URL, this is a rather expensive call the first

time. The data will be cached in RAM after the first call.

fileSize

The size of the binary data of the SDLFile.

SWIFT

var fileURL: URL? { get }

OBJECTIVE-C

@property (readonly, copy, nonatomic) NSData *_Nonnull data;

SWIFT

var data: Data { get }

fileType

The system will attempt to determine the type of file that you have passed in. It

will default to BINARY if it does not recognize the file type or the file type is not

supported by SDL.

OBJECTIVE-C

@property (readonly, nonatomic) unsigned long long fileSize;

SWIFT

var fileSize: UInt64 { get }

OBJECTIVE-C

@property (readonly, strong, nonatomic) SDLFileType _Nonnull fileType;

inputStream

A stream to pull binary data from a SDLFile. The stream only pulls required data

from the file on disk or in memory. This reduces memory usage while uploading

a large file to the remote system as each chunk of data can be released

immediately after it is uploaded.

-init

Undocumented

SWIFT

var fileType: SDLFileType { get }

OBJECTIVE-C

@property (readonly, nonatomic) NSInputStream *_Nonnull inputStream;

SWIFT

var inputStream: InputStream { get }

-initWithFileURL:name:persistent:

The designated initializer for an SDL File. The only major property that is not set

using this is “overwrite”, which defaults to NO.

url

OBJECTIVE-C

- (instancetype)init NS_UNAVAILABLE;

OBJECTIVE-C

- (nonnull instancetype)initWithFileURL:(nonnull NSURL *)url name:(nonnull NSString *)name persistent:(BOOL)persistent;

SWIFT

init(fileURL url: URL, name: String, persistent: Bool)

PARAMETERS

The file URL pointing to the local data that will be pushed to the remote

system.

name

The name that the file will be stored under on the remote system and

how it will be referenced from the local system. The max file name

length may vary based on remote filesystem limitations.

persistent

Whether or not the file will persist between ignition cycles.

An SDLFile object.

+persistentFileAtFileURL:name:

Create an SDL file using a local file URL.

This is a persistent file, it will be persisted through sessions / ignition cycles.

You will only have a limited space for all files, so be sure to only persist files

that are required for all or most sessions. For example, menu artwork should be

persistent.

Ephemeral files should be created using ephemeralFileAtURL:name:

Warning

If this is not a readable file, this will return nil

RETURN VALUE

url

The url to the file that should be uploaded.

name

The name of the file that will be used to reference the file in the future

(for example on the remote file system). The max file name length may

vary based on remote filesystem limitations.

An instance of this class, or nil if a readable file at the path could not be found.

+fileAtFileURL:name:

Create an SDL file using a local file URL.

OBJECTIVE-C

+ (nonnull instancetype)persistentFileAtFileURL:(nonnull NSURL *)url name:(nonnull NSString *)name;

PARAMETERS

RETURN VALUE

This is an ephemeral file, it will not be persisted through sessions / ignition

cycles. Any files that you do not know you will use in future sessions should be

created through this method. For example, album / artist artwork should be

ephemeral.

Persistent files should be created using persistentFileAtURL:name:

Warning

If this is not a readable file, this will return nil

url

The url to the file on disk that will be uploaded

name

OBJECTIVE-C

+ (nonnull instancetype)fileAtFileURL:(nonnull NSURL *)url name:(nonnull NSString *)name;

SWIFT

convenience init(atFileURL url: URL, name: String)

PARAMETERS

The name of the file that will be used to reference the file in the future

(for example on the remote file system). The max file name length may

vary based on remote file system limitations.

An instance of this class, or nil if a readable file at the url could not be found.

-initWithData:name:fileExtension:persistent:

Create an SDL file using raw data. It is strongly preferred to pass a file URL

instead of data, as it is currently held in memory until the file is sent.

RETURN VALUE

OBJECTIVE-C

- (nonnull instancetype)initWithData:(nonnull NSData *)data name:(nonnull NSString *)name fileExtension:(nonnull NSString *)extension persistent:(BOOL)persistent;

SWIFT

init(data: Data, name: String, fileExtension extension: String, persistent: Bool)

data

The raw data to be used for the file

name

The name of the file that will be used to reference the file in the future

(for example on the remote file system). The max file name length may

vary based on remote file system limitations.

extension

The file extension. For example “png”. Currently supported file

extensions are: “bmp”, “jpg”, “jpeg”, “png”, “wav”, “mp3”, “aac”, “

json”. All others will be sent as binary files.

persistent

Whether or not the remote file with this data should be persistent

An instance of this class

PARAMETERS

RETURN VALUE

+persistentFileWithData:name:fileExtension:

Create an SDL file using raw data. It is strongly preferred to pass a file URL

instead of data, as it is currently held in memory until the file is sent.

This is a persistent file, it will be persisted through sessions / ignition cycles.

You will only have a limited space for all files, so be sure to only persist files

that are required for all or most sessions. For example, menu artwork should be

persistent.

data

The raw data to be used for the file

name

The name of the file that will be used to reference the file in the future

(for example on the remote file system). The max file name length may

vary based on remote file system limitations.

extension

OBJECTIVE-C

+ (nonnull instancetype)persistentFileWithData:(nonnull NSData *)data name:(nonnull NSString *)name fileExtension:(nonnull NSString *)extension;

PARAMETERS

The file extension. For example “png”. Currently supported file

extensions are: “bmp”, “jpg”, “jpeg”, “png”, “wav”, “mp3”, “aac”, “

json”. All others will be sent as binary files.

An instance of this class

+fileWithData:name:fileExtension:

Create an SDL file using raw data. It is strongly preferred to pass a file URL

instead of data, as it is currently held in memory until the file is sent.

This is an ephemeral file, it will not be persisted through sessions / ignition

cycles. Any files that you do not know you will use in future sessions should be

created through this method. For example, album / artist artwork should be

ephemeral.

RETURN VALUE

OBJECTIVE-C

+ (nonnull instancetype)fileWithData:(nonnull NSData *)data name:(nonnull NSString *)name fileExtension:(nonnull NSString *)extension;

data

The raw data to be used for the file

name

The name of the file that will be used to reference the file in the future

(for example on the remote file system). The max file name length may

vary based on remote file system limitations.

extension

The file extension. For example “png”. Currently supported file

extensions are: “bmp”, “jpg”, “jpeg”, “png”, “wav”, “mp3”, “aac”, “

json”. All others will be sent as binary files.

SWIFT

convenience init(data: Data, name: String, fileExtension extension: String)

PARAMETERS

An instance of this class

SDLFileManager Class Reference

Section Contents

• remoteFileNames• bytesAvailable• currentState• pendingTransactions• suspended• -init• -initWithConnectionManager:• -startWithCompletionHandler:• -stop• -deleteRemoteFileWithName:completionHandler:• -deleteRemoteFilesWithNames:completionHandler:• -uploadFile:completionHandler:• -uploadFiles:progressHandler:completionHandler:• -uploadFiles:completionHandler:• +temporaryFileDirectory

Overview

The SDLFileManager is an RPC manager for the remote file system. After it

starts, it will attempt to communicate with the remote file system to get the

names of all files. Deleting and Uploading will them queue these changes as

transactions. If a delete succeeds, the local list of remote files will remove that

RETURN VALUE

file name, and likewise, if an upload succeeds, the local list of remote files will

now include that file name.

remoteFileNames

A set of all names of files known on the remote head unit. Known files can be

used or deleted on the remote system.

bytesAvailable

The number of bytes still available for files for this app.

OBJECTIVE-C

@property (readonly, copy, nonatomic) NSSet<SDLFileName *> *_Nonnull remoteFileNames;

SWIFT

var remoteFileNames: Set<String> { get }

OBJECTIVE-C

@property (readonly, assign, nonatomic) NSUInteger bytesAvailable;

currentState

The state of the file manager.

pendingTransactions

The currently pending transactions (Upload, Delete, and List Files) in the file

manager

SWIFT

var bytesAvailable: UInt { get }

OBJECTIVE-C

@property (readonly, copy, nonatomic) NSString *_Nonnull currentState;

SWIFT

var currentState: String { get }

suspended

Whether or not the file manager is suspended. If suspended, the file manager

can continue to queue uploads and deletes, but will not actually perform any of

those until it is no longer suspended. This can be used for throttling down the

file manager if other, important operations are taking place over the accessory

connection.

OBJECTIVE-C

@property (readonly, copy, nonatomic) NSArray<__kindof NSOperation *> *_Nonnull pendingTransactions;

SWIFT

var pendingTransactions: [Operation] { get }

OBJECTIVE-C

@property (assign, readwrite, nonatomic) BOOL suspended;

-init

Initialize the class…or not, since this method is unavailable. Dependencies

must be injected using initWithConnectionManager:

nil

-initWithConnectionManager:

Creates a new file manager with a specified connection manager

SWIFT

var suspended: Bool { get set }

OBJECTIVE-C

- (nonnull instancetype)init;

RETURN VALUE

manager

A connection manager to use to forward on RPCs

An instance of SDLFileManager

-startWithCompletionHandler:

The manager stars up and attempts to fetch its initial list and transfer initial

files.

OBJECTIVE-C

- (nonnull instancetype)initWithConnectionManager: (nonnull id<SDLConnectionManagerType>)manager;

PARAMETERS

RETURN VALUE

completionHandler

The handler called when the manager is set up or failed to set up with

an error. Use weak self when accessing self from the completion

handler.

-stop

Cancels all file manager operations and deletes all associated data.

OBJECTIVE-C

- (void)startWithCompletionHandler: (nullable SDLFileManagerStartupCompletionHandler)completionHandler;

SWIFT

func start(completionHandler: SDLFileManagerStartupCompletionHandler? = nil)

PARAMETERS

-deleteRemoteFileWithName:completionHandler:

Delete a file stored on the remote system

OBJECTIVE-C

- (void)stop;

SWIFT

func stop()

OBJECTIVE-C

- (void)deleteRemoteFileWithName:(nonnull SDLFileName *)name completionHandler: (nullable SDLFileManagerDeleteCompletionHandler)completion;

name

The name of the remote file. It should be a name currently stored in

remoteFileNames

completion

An optional completion handler that sends an error should one occur.

-deleteRemoteFilesWithNames:completionHandler:

Deletes an array of files on the remote file system. The files are deleted in the

order in which they are added to the array, with the first file to be deleted at

index 0. The delete queue is sequential, meaning that once a delete request is

SWIFT

func delete(fileName name: String, completionHandler completion: SDLFileManagerDeleteCompletionHandler? = nil)

PARAMETERS

sent to Core, the queue waits until a response is received from Core before the

next the next delete request is sent.

names

The names of the files to be deleted

completionHandler

an optional SDLFileManagerMultiDeleteCompletionHandler

OBJECTIVE-C

- (void)deleteRemoteFilesWithNames:(nonnull NSArray<SDLFileName *> *)names completionHandler: (nullable SDLFileManagerMultiDeleteCompletionHandler) completionHandler;

SWIFT

func delete(fileNames names: [String], completionHandler: SDLFileManagerMultiDeleteCompletionHandler? = nil)

PARAMETERS

-uploadFile:completionHandler:

Upload a file to the remote file system. If a file with the [SDLFile name] already

exists, this will overwrite that file. If you do not want that to happen, check

remoteFileNames before uploading, or change allowOverwrite to NO.

file

An SDLFile that contains metadata about the file to be sent

completion

An optional completion handler that sends an error should one occur.

OBJECTIVE-C

- (void)uploadFile:(nonnull SDLFile *)file completionHandler: (nullable SDLFileManagerUploadCompletionHandler)completion;

SWIFT

func upload(file: SDLFile, completionHandler completion: SDLFileManagerUploadCompletionHandler? = nil)

PARAMETERS

-uploadFiles:progressHandler:completionHandler:

Uploads an array of files to the remote file system. The files will be uploaded in

the order in which they are added to the array, with the first file to be uploaded

at index 0. The upload queue is sequential, meaning that once a upload request

is sent to Core, the queue waits until a response is received from Core before

the next the next upload request is sent.

The optional progress handler can be used to keep track of the upload progress.

After each file upload, the progress handler returns the upload percentage and

an error, if one occured during the upload process. The progress handler also

includes an option to cancel the upload of all remaining files in queue.

OBJECTIVE-C

- (void)uploadFiles:(nonnull NSArray<SDLFile *> *)files progressHandler: (nullable SDLFileManagerMultiUploadProgressHandler)progressHandler completionHandler: (nullable SDLFileManagerMultiUploadCompletionHandler)completionHandler;

SWIFT

func upload(files: [SDLFile], progressHandler: SDLFileManagerMultiUploadProgressHandler?, completionHandler: SDLFileManagerMultiUploadCompletionHandler? = nil)

files

An array of SDLFiles to be sent

progressHandler

an optional SDLFileManagerMultiUploadProgressHandler

completionHandler

an optional SDLFileManagerMultiUploadCompletionHandler

-uploadFiles:completionHandler:

Uploads an array of files to the remote file system. The files will be uploaded in

the order in which they are added to the array, with the first file to be uploaded

at index 0. The upload queue is sequential, meaning that once a upload request

is sent to Core, the queue waits until a response is received from Core before

the next the next upload request is sent.

PARAMETERS

OBJECTIVE-C

- (void)uploadFiles:(nonnull NSArray<SDLFile *> *)files completionHandler: (nullable SDLFileManagerMultiUploadCompletionHandler)completionHandler;

files

An array of SDLFiles to be sent

completionHandler

an optional SDLFileManagerMultiUploadCompletionHandler

+temporaryFileDirectory

A URL to the directory where temporary files are stored. When an SDLFile is

created with NSData, it writes to a temporary file until the file manager finishes

uploading it.

The SDL library manages the creation and deletion of these files and you

should not have to touch this directory at all.

SWIFT

func upload(files: [SDLFile], completionHandler: SDLFileManagerMultiUploadCompletionHandler? = nil)

PARAMETERS

An NSURL pointing to the location on disk where SDL’s temporary files are

stored.

SDLGPSData Class Reference

Section Contents

• longitudeDegrees• latitudeDegrees• utcYear• utcMonth• utcDay

OBJECTIVE-C

+ (nonnull NSURL *)temporaryFileDirectory;

SWIFT

class func temporaryFileDirectory() -> URL

RETURN VALUE

• utcHours• utcMinutes• utcSeconds• compassDirection• pdop• hdop• vdop• actual• satellites• dimension• altitude• heading• speed

Overview

Describes the GPS data. Not all data will be available on all carlines.

@since SDL 2.0

longitudeDegrees

@abstract longitude degrees

Required, Float, -180 - 180

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull longitudeDegrees;

latitudeDegrees

@abstract latitude degrees

Required, Float, -90 - 90

utcYear

@abstract utc year

Required, Integer, 2010 - 2100

SWIFT

var longitudeDegrees: NSNumber & SDLFloat { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull latitudeDegrees;

SWIFT

var latitudeDegrees: NSNumber & SDLFloat { get set }

utcMonth

@abstract utc month

Required, Integer, 1 - 12

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcYear;

SWIFT

var utcYear: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcMonth;

utcDay

@abstract utc day

Required, Integer, 1 - 31

utcHours

@abstract utc hours

Required, Integer, 0 - 23

SWIFT

var utcMonth: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcDay;

SWIFT

var utcDay: NSNumber & SDLInt { get set }

utcMinutes

@abstract utc minutes

Required, Integer, 0 - 59

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcHours;

SWIFT

var utcHours: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcMinutes;

utcSeconds

@abstract utc seconds

Required, Integer, 0 - 59

compassDirection

Potential Compass Directions

SWIFT

var utcMinutes: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcSeconds;

SWIFT

var utcSeconds: NSNumber & SDLInt { get set }

pdop

@abstract The 3D positional dilution of precision.

@discussion If undefined or unavailable, then value shall be set to 0

Required, Float, 0.0 - 10.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLCompassDirection _Nonnull compassDirection;

SWIFT

var compassDirection: SDLCompassDirection { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull pdop;

hdop

@abstract The horizontal dilution of precision

@discussion If undefined or unavailable, then value shall be set to 0

Required, Float, 0.0 - 10.0

vdop

@abstract the vertical dilution of precision

SWIFT

var pdop: NSNumber & SDLFloat { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull hdop;

SWIFT

var hdop: NSNumber & SDLFloat { get set }

@discussion If undefined or unavailable, then value shall be set to 0

Required, Float, 0.0 - 10.0

actual

@abstract What the coordinates are based on

@discussion YES, if coordinates are based on satellites. NO, if based on dead

reckoning.

Required, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull vdop;

SWIFT

var vdop: NSNumber & SDLFloat { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull actual;

satellites

@abstract The number of satellites in view

Required, Integer, 0 - 31

dimension

The supported dimensions of the GPS

Required

SWIFT

var actual: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull satellites;

SWIFT

var satellites: NSNumber & SDLInt { get set }

altitude

@abstract altitude in meters

Required, Float, -10000.0 - 10000.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLDimension _Nonnull dimension;

SWIFT

var dimension: SDLDimension { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull altitude;

heading

@abstract Heading based on the GPS data.

@discussion North is 0, East is 90, etc. Resolution is 0.01

Required, Float, 0.0 - 359.99

speed

@abstract speed in KPH

SWIFT

var altitude: NSNumber & SDLFloat { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull heading;

SWIFT

var heading: NSNumber & SDLFloat { get set }

Required, Float, 0.0 - 500.0

SDLGetDTCs Class Reference

Section Contents

• -initWithECUName:• -initWithECUName:mask:• ecuName• dtcMask

Overview

This RPC allows to request diagnostic module trouble codes from a certain

vehicle module

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull speed;

SWIFT

var speed: NSNumber & SDLFloat { get set }

Function Group: ProprietaryData

HMILevel needs to be FULL, LIMITED or BACKGROUND

-initWithECUName:

Undocumented

-initWithECUName:mask:

Undocumented

OBJECTIVE-C

- (instancetype)initWithECUName:(UInt16)name;

SWIFT

init(ecuName name: UInt16)

OBJECTIVE-C

- (instancetype)initWithECUName:(UInt16)name mask:(UInt8)mask;

ecuName

@abstract a name of the module to receive the DTC form @discussion an

NSNumber value representing a name of the module to receive the DTC form

Notes: Minvalue:0; Maxvalue:65535

dtcMask

@abstract DTC Mask Byte to be sent in diagnostic request to module.

NSNumber* dtcMask Minvalue:0; Maxvalue:255

SWIFT

init(ecuName name: UInt16, mask: UInt8)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull ecuName;

SWIFT

var ecuName: NSNumber & SDLInt { get set }

SDLGetDTCsResponse Class Reference

Section Contents

• ecuHeader• dtc

Overview

SDLGetDTCsResponse is sent, when SDLGetDTCs has been called

Since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *dtcMask;

SWIFT

var dtcMask: (NSNumber & SDLInt)? { get set }

ecuHeader

Undocumented

dtc

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *ecuHeader

SWIFT

var ecuHeader: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSArray<NSString *> *dtc

SDLGetInteriorVehicleData ClassReference

Section Contents

• -initWithModuleType:• -initAndSubscribeToModuleType:• -initAndUnsubscribeToModuleType:• moduleType• subscribe

Overview

Reads the current status value of specified remote control module (type). When

subscribe is true, subscribes for specific remote control module data items.

When subscribe is false, unsubscribes for specific remote control module data

items. Once subscribed, the application will be notified by the

onInteriorVehicleData RPC notification whenever new data is available for the

module.

-initWithModuleType:

Undocumented

SWIFT

var dtc: [String] { get set }

-initAndSubscribeToModuleType:

Undocumented

OBJECTIVE-C

- (instancetype)initWithModuleType:(SDLModuleType)moduleType;

SWIFT

init(moduleType: SDLModuleType)

OBJECTIVE-C

- (instancetype)initAndSubscribeToModuleType:(SDLModuleType)moduleType;

SWIFT

init(andSubscribeToModuleType moduleType: SDLModuleType)

-initAndUnsubscribeToModuleType:

Undocumented

moduleType

The type of a RC module to retrieve module data from the vehicle.

OBJECTIVE-C

- (instancetype)initAndUnsubscribeToModuleType:(SDLModuleType)moduleType;

SWIFT

init(andUnsubscribeToModuleType moduleType: SDLModuleType)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLModuleType _Nonnull moduleType;

subscribe

If subscribe is true, the head unit will register onInteriorVehicleData

notifications for the requested moduelType. If subscribe is false, the head unit

will unregister onInteriorVehicleData notifications for the requested

moduelType.

optional, Boolean, default Value = false

SWIFT

var moduleType: SDLModuleType { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *subscribe;

SWIFT

var subscribe: (NSNumber & SDLBool)? { get set }

SDLGetInteriorVehicleDataResponseClass Reference

Section Contents

• moduleData• isSubscribed

Overview

Undocumented

moduleData

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLModuleData *moduleData

SWIFT

var moduleData: SDLModuleData { get set }

isSubscribed

@abstract It is a conditional-mandatory parameter: must be returned in case “

subscribe” parameter was present in the related request. if “true” - the “

moduleType” from request is successfully subscribed and the head unit will

send onInteriorVehicleData notifications for the moduleType. if “false” - the “

moduleType” from request is either unsubscribed or failed to subscribe.

Optional, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *isSubscribed;

SWIFT

var isSubscribed: (NSNumber & SDLBool)? { get set }

SDLGetSystemCapability ClassReference

Section Contents

• -initWithType:• systemCapabilityType

Overview

Undocumented

-initWithType:

Undocumented

OBJECTIVE-C

- (instancetype)initWithType:(SDLSystemCapabilityType)type;

SWIFT

init(type: SDLSystemCapabilityType)

systemCapabilityType

They type of capability you’d like to receive in the response.

Mandatory

SDLGetSystemCapabilityResponseClass Reference

Section Contents

• systemCapability

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLSystemCapabilityType _Nonnull systemCapabilityType;

SWIFT

var systemCapabilityType: SDLSystemCapabilityType { get set }

Overview

Undocumented

systemCapability

Undocumented

SDLGetVehicleData Class Reference

Section Contents

• -

initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clusterModeStatus:deviceStatus:• gps

OBJECTIVE-C

@property (strong, nonatomic) SDLSystemCapability *systemCapability

SWIFT

var systemCapability: SDLSystemCapability { get set }

• speed• rpm• fuelLevel• fuelLevel_State• instantFuelConsumption• externalTemperature• vin• prndl• tirePressure• odometer• beltStatus• bodyInformation• deviceStatus• driverBraking• wiperStatus• headLampStatus• engineTorque• accPedalPosition• steeringWheelAngle• eCallInfo• airbagStatus• emergencyEvent• clusterModeStatus• myKey

Overview

Requests surrent values of specific published vehicle data items.

Function Group: Location, VehicleInfo and DrivingChara

HMILevel needs to be FULL, LIMITED or BACKGROUND

Since SmartDeviceLink 2.0

See SDLSubscribeVehicleData SDLUnsubscribeVehicleData

-

initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clu

Undocumented

OBJECTIVE-C

- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus;

SWIFT

init(accelerationPedalPosition: Bool, airbagStatus: Bool, beltStatus: Bool, bodyInformation: Bool, clusterModeStatus: Bool, deviceStatus: Bool, driverBraking: Bool, eCallInfo: Bool, emergencyEvent: Bool, engineTorque: Bool, externalTemperature: Bool, fuelLevel: Bool, fuelLevelState: Bool, gps: Bool, headLampStatus: Bool, instantFuelConsumption: Bool, myKey: Bool, odometer: Bool, prndl: Bool, rpm: Bool, speed: Bool, steeringWheelAngle: Bool, tirePressure: Bool, vin: Bool, wiperStatus: Bool)

gps

@abstract A boolean value. If true, requests Gps data

speed

@abstract A boolean value. If true, requests speed data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *gps;

SWIFT

var gps: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *speed;

rpm

@abstract A boolean value. If true, requests rpm data

fuelLevel

@abstract A boolean value. If true, requests FuelLevel data

SWIFT

var speed: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *rpm;

SWIFT

var rpm: (NSNumber & SDLBool)? { get set }

fuelLevel_State

@abstract A boolean value. If true, requests fuelLevel_State data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *fuelLevel;

SWIFT

var fuelLevel: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *fuelLevel_State;

SWIFT

var fuelLevel_State: (NSNumber & SDLBool)? { get set }

instantFuelConsumption

@abstract A boolean value. If true, requests instantFuelConsumption data

externalTemperature

@abstract A boolean value. If true, requests externalTemperature data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *instantFuelConsumption;

SWIFT

var instantFuelConsumption: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *externalTemperature;

vin

@abstract A boolean value. If true, requests Vehicle Identification Number

prndl

@abstract A boolean value. If true, requests Currently selected gear data

SWIFT

var externalTemperature: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *vin;

SWIFT

var vin: (NSNumber & SDLBool)? { get set }

tirePressure

@abstract A boolean value. If true, requests tire pressure status data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *prndl;

SWIFT

var prndl: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *tirePressure;

SWIFT

var tirePressure: (NSNumber & SDLBool)? { get set }

odometer

@abstract A boolean value. If true, requests odometer data

beltStatus

@abstract A boolean value. If true, requests belt Status data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *odometer;

SWIFT

var odometer: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *beltStatus;

bodyInformation

@abstract A boolean value. If true, requests body Information data

deviceStatus

@abstract A boolean value. If true, requests device Status data

SWIFT

var beltStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *bodyInformation;

SWIFT

var bodyInformation: (NSNumber & SDLBool)? { get set }

driverBraking

@abstract A boolean value. If true, requests driver Braking data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *deviceStatus;

SWIFT

var deviceStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *driverBraking;

SWIFT

var driverBraking: (NSNumber & SDLBool)? { get set }

wiperStatus

@abstract A boolean value. If true, requests wiper Status data

headLampStatus

@abstract A boolean value. If true, requests Head Lamp Status data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *wiperStatus;

SWIFT

var wiperStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *headLampStatus;

engineTorque

@abstract A boolean value. If true, requests Engine Torque data

accPedalPosition

@abstract A boolean value. If true, means the accPedalPosition data has been

subscribed.

SWIFT

var headLampStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *engineTorque;

SWIFT

var engineTorque: (NSNumber & SDLBool)? { get set }

steeringWheelAngle

@abstract A boolean value. If true, means the steeringWheelAngle data has

been subscribed.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *accPedalPosition;

SWIFT

var accPedalPosition: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *steeringWheelAngle;

eCallInfo

Undocumented

airbagStatus

Undocumented

SWIFT

var steeringWheelAngle: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLBool> *eCallInfo

SWIFT

var eCallInfo: (NSNumber & SDLBool)? { get set }

emergencyEvent

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLBool> *airbagStatus

SWIFT

var airbagStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLBool> *emergencyEvent

SWIFT

var emergencyEvent: (NSNumber & SDLBool)? { get set }

clusterModeStatus

Undocumented

myKey

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLBool> *clusterModeStatus

SWIFT

var clusterModeStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLBool> *myKey

SDLGetVehicleDataResponse ClassReference

Section Contents

• gps• speed• rpm• fuelLevel• fuelLevel_State• instantFuelConsumption• externalTemperature• vin• prndl• tirePressure• odometer• beltStatus• bodyInformation• deviceStatus• driverBraking• wiperStatus• headLampStatus• engineTorque• accPedalPosition

SWIFT

var myKey: (NSNumber & SDLBool)? { get set }

• steeringWheelAngle• eCallInfo• airbagStatus• emergencyEvent• clusterModeStatus• myKey

Overview

Get Vehicle Data Response is sent, when SDLGetVehicleData has been called

Since SmartDeviceLink 2.0

gps

@abstract A SDLGPSData* value. See GPSData.

speed

@abstract The vehicle speed in kilometers per hour.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLGPSData *gps;

SWIFT

var gps: SDLGPSData? { get set }

rpm

@abstract The number of revolutions per minute of the engine.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *speed;

SWIFT

var speed: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *rpm;

SWIFT

var rpm: (NSNumber & SDLInt)? { get set }

fuelLevel

@abstract The fuel level in the tank (percentage)

fuelLevel_State

@abstract A SDLComponentVolumeStatus* value. The fuel level state.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *fuelLevel;

SWIFT

var fuelLevel: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLComponentVolumeStatus fuelLevel_State;

instantFuelConsumption

@abstract The instantaneous fuel consumption in microlitres.

externalTemperature

@abstract The external temperature in degrees celsius.

SWIFT

var fuelLevel_State: SDLComponentVolumeStatus? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *instantFuelConsumption;

SWIFT

var instantFuelConsumption: (NSNumber & SDLFloat)? { get set }

vin

@abstract The Vehicle Identification Number

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *externalTemperature;

SWIFT

var externalTemperature: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *vin;

SWIFT

var vin: String? { get set }

prndl

@abstract See PRNDL.

tirePressure

@abstract A SDLTireStatus* value. See TireStatus.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLPRNDL prndl;

SWIFT

var prndl: SDLPRNDL? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLTireStatus *tirePressure;

odometer

@abstract Odometer reading in km.

beltStatus

@abstract A SDLBeltStatus* value. The status of the seat belts.

SWIFT

var tirePressure: SDLTireStatus? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *odometer;

SWIFT

var odometer: (NSNumber & SDLInt)? { get set }

bodyInformation

@abstract A SDLBodyInformation* value. The body information including power

modes.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLBeltStatus *beltStatus;

SWIFT

var beltStatus: SDLBeltStatus? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLBodyInformation *bodyInformation;

deviceStatus

@abstract A SDLDeviceStatus* value. The device status including signal and

battery strength.

driverBraking

@abstract A SDLVehicleDataResult* value. The status of the brake pedal.

SWIFT

var bodyInformation: SDLBodyInformation? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLDeviceStatus *deviceStatus;

SWIFT

var deviceStatus: SDLDeviceStatus? { get set }

wiperStatus

@abstract A SDLWiperStatus* value. The status of the wipers.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataEventStatus driverBraking;

SWIFT

var driverBraking: SDLVehicleDataEventStatus? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLWiperStatus wiperStatus;

SWIFT

var wiperStatus: SDLWiperStatus? { get set }

headLampStatus

@abstract A SDLHeadLampStatus* value. Status of the head lamps.

engineTorque

@abstract Torque value for engine (in Nm) on non-diesel variants.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLHeadLampStatus *headLampStatus;

SWIFT

var headLampStatus: SDLHeadLampStatus? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *engineTorque;

accPedalPosition

@abstract Accelerator pedal position (percentage depressed)

steeringWheelAngle

@abstract Current angle of the steering wheel (in deg)

SWIFT

var engineTorque: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *accPedalPosition;

SWIFT

var accPedalPosition: (NSNumber & SDLFloat)? { get set }

eCallInfo

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *steeringWheelAngle;

SWIFT

var steeringWheelAngle: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLECallInfo *eCallInfo

SWIFT

var eCallInfo: SDLECallInfo? { get set }

airbagStatus

Undocumented

emergencyEvent

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLAirbagStatus *airbagStatus

SWIFT

var airbagStatus: SDLAirbagStatus? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLEmergencyEvent *emergencyEvent

clusterModeStatus

Undocumented

myKey

Undocumented

SWIFT

var emergencyEvent: SDLEmergencyEvent? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLClusterModeStatus *clusterModeStatus

SWIFT

var clusterModeStatus: SDLClusterModeStatus? { get set }

SDLHMICapabilities Class Reference

Section Contents

• navigation• phoneCall• videoStreaming

Overview

Undocumented

navigation

Availability of built in Nav. True: Available, False: Not Available

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLMyKey *myKey

SWIFT

var myKey: SDLMyKey? { get set }

Boolean value. Optional.

phoneCall

Availability of built in phone. True: Available, False: Not Available

Boolean value. Optional.

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSNumber<SDLBool> *navigation;

SWIFT

@NSCopying var navigation: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSNumber<SDLBool> *phoneCall;

videoStreaming

Availability of built in video streaming. True: Available, False: Not Available

Boolean value. Optional.

SWIFT

@NSCopying var phoneCall: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSNumber<SDLBool> *videoStreaming;

SWIFT

@NSCopying var videoStreaming: (NSNumber & SDLBool)? { get set }

SDLHMIPermissions Class Reference

Section Contents

• allowed• userDisallowed

Overview

Defining sets of HMI levels, which are permitted or prohibited for a given RPC.

@since SDL 2.0

allowed

@abstract a set of all HMI levels that are permitted for this given RPC

SeeSDLHMILevel Required, Array of SDLHMILevel, Array size 0 - 100

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<SDLHMILevel> *_Nonnull allowed;

userDisallowed

@abstract a set of all HMI levels that are prohibited for this given RPC

SeeSDLHMILevel Required, Array of SDLHMILevel, Array size 0 - 100

SWIFT

var allowed: [SDLHMILevel] { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<SDLHMILevel> *_Nonnull userDisallowed;

SWIFT

var userDisallowed: [SDLHMILevel] { get set }

SDLHapticRect Class Reference

Section Contents

• -initWithId:rect:• id• rect

Overview

Defines spatial for each user control object for video streaming application

-initWithId:rect:

Undocumented

OBJECTIVE-C

- (instancetype)initWithId:(UInt32)id rect:(SDLRectangle *)rect;

SWIFT

init(id: UInt32, rect: SDLRectangle)

id

A user control spatial identifier Required, Integer, 0 - 2,000,000,000

rect

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLUInt> *_Nonnull id;

SWIFT

var id: NSNumber & SDLUInt { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLRectangle *rect

SDLHeadLampStatus Class Reference

Section Contents

• lowBeamsOn• highBeamsOn• ambientLightSensorStatus

Overview

Status of the head lamps

lowBeamsOn

@abstract A boolean value. Status of the low beam lamps.

SWIFT

var rect: SDLRectangle { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull lowBeamsOn;

highBeamsOn

@abstract A boolean value. Status of the high beam lamps.

ambientLightSensorStatus

Undocumented

SWIFT

var lowBeamsOn: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull highBeamsOn;

SWIFT

var highBeamsOn: NSNumber & SDLBool { get set }

SDLIAPTransport Class Reference

Section Contents

• controlSession• session

Overview

Undocumented

controlSession

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLAmbientLightStatus ambientLightSensorStatus

SWIFT

var ambientLightSensorStatus: SDLAmbientLightStatus? { get set }

session

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLIAPSession *controlSession

SWIFT

var controlSession: SDLIAPSession? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLIAPSession *session

SWIFT

var session: SDLIAPSession? { get set }

SDLImage Class Reference

Section Contents

• -initWithName:ofType:• value• imageType

Overview

Specifies, which image shall be used, e.g. in SDLAlerts or on SDLSoftbuttons

provided the display supports it.

@since SDL 2.0

-initWithName:ofType:

Undocumented

OBJECTIVE-C

- (instancetype)initWithName:(NSString *)name ofType:(SDLImageType)imageType;

value

@abstract The static hex icon value or the binary image file name identifier

(sent by SDLPutFile)

Required, max length = 65535

imageType

@abstract Describes, whether it is a static or dynamic image

Required

SWIFT

init(name: String, ofType imageType: SDLImageType)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull value;

SWIFT

var value: String { get set }

SDLImageField Class Reference

Section Contents

• name• imageTypeSupported• imageResolution

Overview

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLImageType _Nonnull imageType;

SWIFT

var imageType: SDLImageType { get set }

name

Undocumented

imageTypeSupported

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLImageFieldName name

SWIFT

var name: SDLImageFieldName { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSArray<SDLFileType> *imageTypeSupported

imageResolution

Undocumented

SWIFT

var imageTypeSupported: [SDLFileType] { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLImageResolution *imageResolution

SWIFT

var imageResolution: SDLImageResolution? { get set }

SDLImageResolution Class Reference

Section Contents

• resolutionWidth• resolutionHeight• -initWithWidth:height:

Overview

Undocumented

resolutionWidth

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *resolutionWidth

SWIFT

var resolutionWidth: NSNumber & SDLInt { get set }

resolutionHeight

Undocumented

-initWithWidth:height:

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *resolutionHeight

SWIFT

var resolutionHeight: NSNumber & SDLInt { get set }

OBJECTIVE-C

- (instancetype)initWithWidth:(uint16_t)width height:(uint16_t)height;

SDLKeyboardProperties Class Reference

Section Contents

• -

initWithLanguage:layout:keypressMode:limitedCharacterList:autoCompleteText:• language• keyboardLayout• keypressMode• limitedCharacterList• autoCompleteText

Overview

Undocumented

-

initWithLanguage:layout:keypressMode:limitedCharacterList:autoCompleteText

Undocumented

SWIFT

init(width: UInt16, height: UInt16)

language

Undocumented

OBJECTIVE-C

- (instancetype)initWithLanguage:(nullable SDLLanguage)language layout:(nullable SDLKeyboardLayout)layout keypressMode:(nullable SDLKeypressMode)keypressMode limitedCharacterList:(nullable NSArray<NSString *> *)limitedCharacterList autoCompleteText:(nullable NSString *)autoCompleteText;

SWIFT

init(language: SDLLanguage?, layout: SDLKeyboardLayout?, keypressMode: SDLKeypressMode?, limitedCharacterList: [String]?, autoCompleteText: String?)

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLLanguage language

keyboardLayout

Undocumented

keypressMode

Undocumented

SWIFT

var language: SDLLanguage? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLKeyboardLayout keyboardLayout

SWIFT

var keyboardLayout: SDLKeyboardLayout? { get set }

limitedCharacterList

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLKeypressMode keypressMode

SWIFT

var keypressMode: SDLKeypressMode? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSArray<NSString *> *limitedCharacterList

SWIFT

var limitedCharacterList: [String]? { get set }

autoCompleteText

Undocumented

SDLLifecycleConfiguration ClassReference

Section Contents

• -init• +defaultConfigurationWithAppName:appId:• +debugConfigurationWithAppName:appId:ipAddress:port:• tcpDebugMode• tcpDebugIPAddress• tcpDebugPort

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *autoCompleteText

SWIFT

var autoCompleteText: String? { get set }

• appName• appId• resumeHash• isMedia• appType• language• languagesSupported• appIcon• shortAppName• ttsName• voiceRecognitionCommandNames

Overview

Configuration options for SDLManager

-init

Undocumented

+defaultConfigurationWithAppName:appId:

A production configuration that runs using IAP. Additional functionality should

be customized on the properties.

OBJECTIVE-C

- (instancetype)init NS_UNAVAILABLE;

appName

The name of the app.

appId

The appId to be used. This should be registered with the radio’s

manufacturer.

OBJECTIVE-C

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

SWIFT

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

PARAMETERS

The lifecycle configuration

+debugConfigurationWithAppName:appId:ipAddress:port:

A debug configuration that runs using TCP. Additional functionality should be

customized on the properties.

RETURN VALUE

OBJECTIVE-C

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

SWIFT

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

appName

The name of the app.

appId

The appId to be used. This should be registered with the radio’s

manufacturer.

ipAddress

The ip address of the server to connect to

port

The port of the server to connect to

The lifecycle configuration

tcpDebugMode

Whether or not debug mode is enabled

PARAMETERS

RETURN VALUE

tcpDebugIPAddress

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

OBJECTIVE-C

@property (readonly, assign, nonatomic) BOOL tcpDebugMode;

SWIFT

var tcpDebugMode: Bool { get }

OBJECTIVE-C

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

SWIFT

var tcpDebugIPAddress: String! { get }

tcpDebugPort

The port at which the library will look for a server

appName

The full name of the app

OBJECTIVE-C

@property (readonly, assign, nonatomic) UInt16 tcpDebugPort;

SWIFT

var tcpDebugPort: UInt16 { get }

OBJECTIVE-C

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

appId

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

developer portal or OEM.

resumeHash

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

RegisterAppInterface

SWIFT

var appName: String { get }

OBJECTIVE-C

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

SWIFT

var appId: String { get }

isMedia

This is an automatically set based on the app type

OBJECTIVE-C

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

SWIFT

var resumeHash: String? { get set }

OBJECTIVE-C

@property (readonly, assign, nonatomic) BOOL isMedia;

SWIFT

var isMedia: Bool { get }

appType

The application type

language

The default language to use

OBJECTIVE-C

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

SWIFT

var appType: SDLAppHMIType! { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull language;

languagesSupported

An array of all the supported languages

appIcon

The application icon to be used on an app launching screen

SWIFT

var language: SDLLanguage { get set }

OBJECTIVE-C

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

SWIFT

var languagesSupported: [SDLLanguage] { 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 (readwrite, strong, nonatomic, nullable) SDLFile *appIcon;

SWIFT

var appIcon: SDLFile? { get set }

OBJECTIVE-C

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

SWIFT

var shortAppName: String? { get set }

ttsName

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

voiceRecognitionCommandNames

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

name or global commands.

OBJECTIVE-C

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

SWIFT

var ttsName: [SDLTTSChunk]? { get set }

OBJECTIVE-C

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

SDLListFilesResponse Class Reference

Section Contents

• filenames• spaceAvailable

Overview

SDLListFilesResponse is sent, when SDLListFiles has been called

Since SmartDeviceLink 2.0

filenames

Undocumented

SWIFT

var voiceRecognitionCommandNames: [String]? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSArray<NSString *> *filenames

spaceAvailable

Undocumented

SWIFT

var filenames: [String]? { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *spaceAvailable

SWIFT

var spaceAvailable: NSNumber & SDLInt { get set }

SDLLocationCoordinate Class Reference

Section Contents

• latitudeDegrees• longitudeDegrees

Overview

Undocumented

latitudeDegrees

@abstract Latitude of the location

Required, Double -90 - 90

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLFloat> *_Nonnull latitudeDegrees;

SWIFT

@NSCopying var latitudeDegrees: NSNumber & SDLFloat { get set }

longitudeDegrees

@abstract Longitude of the location

Required, Double -180 - 180

SDLLocationDetails Class Reference

Section Contents

• coordinate• locationName• addressLines• locationDescription• phoneNumber

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSNumber<SDLFloat> *_Nonnull longitudeDegrees;

SWIFT

@NSCopying var longitudeDegrees: NSNumber & SDLFloat { get set }

• locationImage• searchAddress

Overview

Undocumented

coordinate

@abstract Latitude/Longitude of the location

SeeSDLLocationCoordinate Optional

locationName

@abstract Name of location.

Optional, Max length 500 chars

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLLocationCoordinate *coordinate;

SWIFT

var coordinate: SDLLocationCoordinate? { get set }

addressLines

@abstract Location address for display purposes only.

Optional, Array of Strings, Array length 0 - 4, Max String length 500

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *locationName;

SWIFT

var locationName: String? { get set }

OBJECTIVE-C

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

locationDescription

@abstract Description intended location / establishment.

Optional, Max length 500 chars

phoneNumber

@abstract Phone number of location / establishment.

Optional, Max length 500 chars

SWIFT

var addressLines: [String]? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *locationDescription;

SWIFT

var locationDescription: String? { get set }

locationImage

@abstract Image / icon of intended location.

SeeSDLImage Optional

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *phoneNumber;

SWIFT

var phoneNumber: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLImage *locationImage;

searchAddress

@abstract Address to be used by navigation engines for search.

SeeSDLOASISAddress Optional

SWIFT

var locationImage: SDLImage? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLOasisAddress *searchAddress;

SWIFT

var searchAddress: SDLOasisAddress? { get set }

SDLLockScreenConfiguration ClassReference

Section Contents

• showInOptionalState• enableAutomaticLockScreen• backgroundColor• appIcon• customViewController• -init• +disabledConfiguration• +enabledConfiguration• +enabledConfigurationWithAppIcon:backgroundColor:• +enabledConfigurationWithViewController:

Overview

Undocumented

showInOptionalState

Whether or not the lock screen should be shown in the “lock screen optional”

state. Defaults to ‘NO’.

OBJECTIVE-C

@property (assign, readwrite, nonatomic) BOOL showInOptionalState;

enableAutomaticLockScreen

If YES, the lock screen should be managed by SDL and automatically engage

when necessary. If NO, then the lock screen will never be engaged.

backgroundColor

The background color of the lock screen. This could be a branding color, or

leave at the default for a dark blue-gray.

SWIFT

var showInOptionalState: Bool { get set }

OBJECTIVE-C

@property (readonly, assign, nonatomic) BOOL enableAutomaticLockScreen;

SWIFT

var enableAutomaticLockScreen: Bool { get }

appIcon

Your app icon as it will appear on the lock screen.

OBJECTIVE-C

@property (readonly, copy, nonatomic) UIColor *_Nonnull backgroundColor;

SWIFT

@NSCopying var backgroundColor: UIColor { get }

OBJECTIVE-C

@property (readonly, copy, nonatomic, nullable) UIImage *appIcon;

SWIFT

@NSCopying var appIcon: UIImage? { get }

customViewController

A custom view controller that the lock screen will manage the presentation of.

-init

Undocumented

OBJECTIVE-C

@property (readonly, strong, nonatomic, nullable) UIViewController *customViewController;

SWIFT

var customViewController: UIViewController? { get }

OBJECTIVE-C

- (instancetype)init NS_UNAVAILABLE;

+disabledConfiguration

Use this configuration if you wish to manage a lock screen yourself. This may

be useful if the automatic presentation feature of SDLLockScreenManager is

failing for some reason.

The configuration

+enabledConfiguration

Use this configuration for the basic default lock screen. A custom app icon will

not be used.

OBJECTIVE-C

+ (nonnull instancetype)disabledConfiguration;

SWIFT

class func disabled() -> Self

RETURN VALUE

The configuration

+enabledConfigurationWithAppIcon:backgroundColor:

Use this configuration to provide a custom lock screen icon and a custom

background color, or nil if you wish to use the default background color. This

will use the default lock screen layout.

OBJECTIVE-C

+ (nonnull instancetype)enabledConfiguration;

SWIFT

class func enabled() -> Self

RETURN VALUE

lockScreenAppIcon

The app icon to be shown on the lock screen

lockScreenBackgroundColor

The color of the lock screen background

OBJECTIVE-C

+ (nonnull instancetype)enabledConfigurationWithAppIcon:(nonnull UIImage *)lockScreenAppIcon backgroundColor:(nullable UIColor *)lockScreenBackgroundColor;

SWIFT

class func enabledConfiguration(withAppIcon lockScreenAppIcon: UIImage, backgroundColor lockScreenBackgroundColor: UIColor?) -> Self

PARAMETERS

The configuration

+enabledConfigurationWithViewController:

Use this configuration if you wish to provide your own view controller for the

lock screen. This view controller’s presentation and dismissal will still be

managed by the lock screen manager. Note that you may subclass

SDLLockScreenViewController and pass it here to continue to have the vehicle

icon set to your view controller by the manager.

RETURN VALUE

OBJECTIVE-C

+ (nonnull instancetype)enabledConfigurationWithViewController: (nonnull UIViewController *)viewController;

SWIFT

class func enabledConfiguration(with viewController: UIViewController) -> Self

viewController

The view controller to be managed

The configuration

SDLLockScreenViewController ClassReference

Section Contents

• appIcon• vehicleIcon• backgroundColor

Overview

Undocumented

appIcon

The app’s icon. This will be set by the lock screen configuration.

PARAMETERS

RETURN VALUE

vehicleIcon

The vehicle’s designated icon. This will be set by the lock screen manager when

it is notified that a lock screen icon has been downloaded.

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) UIImage *appIcon;

SWIFT

@NSCopying var appIcon: UIImage? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) UIImage *vehicleIcon;

SWIFT

@NSCopying var vehicleIcon: UIImage? { get set }

backgroundColor

The designated background color set in the lock screen configuration, or the

default SDL gray-blue.

SDLLogConfiguration Class Reference

Section Contents

• modules• targets• filters• formatType• asynchronous• errorsAsynchronous

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) UIColor *backgroundColor;

SWIFT

@NSCopying var backgroundColor: UIColor? { get set }

• globalLogLevel• +defaultConfiguration• +debugConfiguration

Overview

Undocumented

modules

Any custom logging modules used by the developer’s code. Defaults to none.

targets

Where the logs will attempt to output. Defaults to Console.

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSSet<SDLLogFileModule *> *_Nonnull modules;

SWIFT

var modules: Set<AnyHashable> { get set }

filters

What log filters will run over this session. Defaults to none.

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSSet<id<SDLLogTarget>> *_Nonnull targets;

SWIFT

var targets: Set<AnyHashable> { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic) NSSet<SDLLogFilter *> *_Nonnull filters;

SWIFT

var filters: Set<SDLLogFilter> { get set }

formatType

How detailed of logs will be output. Defaults to Default.

asynchronous

Whether or not logs will be run on a separate queue, asynchronously, allowing

the following code to run before the log completes. Or if it will occur

synchronously, which will prevent logs from being missed, but will slow down

surrounding code. Defaults to YES.

OBJECTIVE-C

@property (assign, readwrite, nonatomic) SDLLogFormatType formatType;

SWIFT

var formatType: SDLLogFormatType { get set }

OBJECTIVE-C

@property (getter=isAsynchronous, assign, readwrite, nonatomic) BOOL asynchronous;

errorsAsynchronous

Whether or not error logs will be dispatched to loggers asynchronously. Defaults

to NO.

globalLogLevel

Any modules that do not have an explicitly specified level will by default use

the global log level. Defaults to Error. Do not specify Default for this parameter.

SWIFT

var isAsynchronous: Bool { get set }

OBJECTIVE-C

@property (getter=areErrorsAsynchronous, assign, readwrite, nonatomic) BOOL errorsAsynchronous;

SWIFT

var areErrorsAsynchronous: Bool { get set }

+defaultConfiguration

A default logger for production. This sets the format type to Default, the log

level to Error, and only enables the ASL logger.

OBJECTIVE-C

@property (assign, readwrite, nonatomic) SDLLogLevel globalLogLevel;

SWIFT

var globalLogLevel: SDLLogLevel { get set }

OBJECTIVE-C

+ (nonnull instancetype)defaultConfiguration;

SWIFT

class func `default`() -> Self

A default configuration that may be customized.

+debugConfiguration

A debug logger for use in development. This sets the format type to Detailed,

the log level to Debug, and enables the Console and ASL loggers.

A debug configuration that may be customized.

RETURN VALUE

OBJECTIVE-C

+ (nonnull instancetype)debugConfiguration;

SWIFT

class func debug() -> Self

RETURN VALUE

SDLLogFileModule Class Reference

Section Contents

• name• files• logLevel• -init• -initWithName:files:level:• -initWithName:files:• +moduleWithName:files:• -containsFile:

Overview

Undocumented

name

The name of the this module, e.g. “Transport”

OBJECTIVE-C

@property (readonly, copy, nonatomic) NSString *_Nonnull name;

files

All of the files contained within this module. When a log is logged, the

__FILE__ (in Obj-C) or #file (in Swift) is automatically captured and checked

to see if any module has a file in this set that matches. If it does, it will be

logged using the module’s log level and the module’s name will be printed in

the formatted log.

SWIFT

var name: String { get }

OBJECTIVE-C

@property (readonly, copy, nonatomic) NSSet<NSString *> *_Nonnull files;

SWIFT

var files: Set<String> { get }

logLevel

The custom level of the log. This is SDLLogLevelDefault (whatever the current

global log level is) by default.

-init

This method is unavailable and may not be used.

OBJECTIVE-C

@property (assign, readwrite, nonatomic) SDLLogLevel logLevel;

SWIFT

var logLevel: SDLLogLevel { get set }

OBJECTIVE-C

- (nonnull instancetype)init;

Always returns nil

-initWithName:files:level:

Returns an initialized SDLLogFileModule that contains a custom name, set of

files, and associated log level.

name

RETURN VALUE

OBJECTIVE-C

- (nonnull instancetype)initWithName:(nonnull NSString *)name files:(nonnull NSSet<NSString *> *)files level:(SDLLogLevel)level;

SWIFT

init(name: String, files: Set<String>, level: SDLLogLevel)

PARAMETERS

The name of this module. This will be used when printing a formatted

log for a file within this module e.g. “Transport”.

files

The files this module covers. This should correspond to a __FILE__ or

#file call for use when comparing a log to this module. Any log

originating in a file contained in this set will then use this module’s log

level and print the module name.

level

The custom logging level logs originating in files contained in this log

module will use. For example, if the global level is SDLLogLevelError

and this module is configured to SDLLogLevelVerbose , all logs

originating from files within this module will be logged, not merely error

logs.

An initialized SDLLogFileModule

-initWithName:files:

Returns an initialized SDLLogFileModule that contains a custom name and set

of files. The logging level is the same as the current global logging file by using

SDLLogLevelDefault .

RETURN VALUE

name

The name of this module. This will be used when printing a formatted

log for a file within this module e.g. “Transport”.

files

The files this module covers. This should correspond to a __FILE__ or

#file call for use when comparing a log to this module. Any log

originating in a file contained in this set will then use this module’s log

level and print the module name.

OBJECTIVE-C

- (nonnull instancetype)initWithName:(nonnull NSString *)name files:(nonnull NSSet<NSString *> *)files;

SWIFT

convenience init(name: String, files: Set<String>)

PARAMETERS

An initialized SDLLogFileModule

+moduleWithName:files:

Returns an initialized SDLLogFileModule that contains a custom name and set

of files. The logging level is the same as the current global logging file by using

SDLLogLevelDefault .

name

The name of this module. This will be used when printing a formatted

log for a file within this module e.g. “Transport”.

files

The files this module covers. This should correspond to a __FILE__ or

#file call for use when comparing a log to this module. Any log

RETURN VALUE

OBJECTIVE-C

+ (nonnull instancetype)moduleWithName:(nonnull NSString *)name files:(nonnull NSSet<NSString *> *)files;

PARAMETERS

originating in a file contained in this set will then use this module’s log

level and print the module name.

An initialized SDLLogFileModule

-containsFile:

Returns whether or not this module contains a given file.

fileName

RETURN VALUE

OBJECTIVE-C

- (BOOL)containsFile:(nonnull NSString *)fileName;

SWIFT

func containsFile(_ fileName: String) -> Bool

PARAMETERS

The file name to check

A BOOL, YES if this module contains the given file.

SDLLogFilter Class Reference

Section Contents

• filter• -init• -initWithCustomFilter:• +filterByDisallowingString:caseSensitive:• +filterByAllowingString:caseSensitive:• +filterByDisallowingRegex:• +filterByAllowingRegex:• +filterByDisallowingModules:• +filterByAllowingModules:• +filterByDisallowingFileNames:• +filterByAllowingFileNames:

Overview

Undocumented

filter

Undocumented

RETURN VALUE

-init

Undocumented

-initWithCustomFilter:

Create a new filter with a custom filter block. The filter block will take a log

model and return a BOOL of pass / fail.

OBJECTIVE-C

@property (strong, nonatomic, readonly) SDLLogFilterBlock filter

SWIFT

var filter: SDLLogFilterBlock { get }

OBJECTIVE-C

- (instancetype)init NS_UNAVAILABLE;

filter

The custom filter to be used

An instance of SDLLogFilter

OBJECTIVE-C

- (nonnull instancetype)initWithCustomFilter:(nonnull SDLLogFilterBlock)filter;

SWIFT

init(customFilter filter: @escaping SDLLogFilterBlock)

PARAMETERS

RETURN VALUE

+filterByDisallowingString:caseSensitive:

Returns a filter that only allows logs not containing the passed string within

their message.

string

The string, which, if present in the message of the log, will prevent the

log from being logged.

caseSensitive

OBJECTIVE-C

+ (nonnull SDLLogFilter *)filterByDisallowingString:(nonnull NSString *)string caseSensitive:(BOOL)caseSensitive;

SWIFT

/*not inherited*/ init(byDisallowingString string: String, caseSensitive: Bool)

PARAMETERS

Whether or not string should be checked as case sensitive against the

log’s message.

A filter that may be passed into the logConfiguration .

+filterByAllowingString:caseSensitive:

Returns a filter that only allows logs containing the passed string within their

message.

RETURN VALUE

OBJECTIVE-C

+ (nonnull SDLLogFilter *)filterByAllowingString:(nonnull NSString *)string caseSensitive:(BOOL)caseSensitive;

SWIFT

/*not inherited*/ init(byAllowing string: String, caseSensitive: Bool)

string

The string, which, if present in the message of the log, will allow the log

to be logged.

caseSensitive

Whether or not string should be checked as case sensitive against the

log’s message.

A filter that may be passed into the logConfiguration .

+filterByDisallowingRegex:

Returns a filter that only allows logs not passing the passed regex against their

message.

PARAMETERS

RETURN VALUE

OBJECTIVE-C

+ (nonnull SDLLogFilter *)filterByDisallowingRegex: (nonnull NSRegularExpression *)regex;

regex

The regex, which, if it matches the message of the log, will prevent the

log from being logged.

A filter that may be passed into the logConfiguration .

+filterByAllowingRegex:

Returns a filter that only allows logs passing the passed regex against their

message.

SWIFT

/*not inherited*/ init(byDisallowingRegex regex: NSRegularExpression)

PARAMETERS

RETURN VALUE

regex

The regex, which, if it matches the message of the log, will allow the

log to be logged.

A filter that may be passed into the logConfiguration .

OBJECTIVE-C

+ (nonnull SDLLogFilter *)filterByAllowingRegex: (nonnull NSRegularExpression *)regex;

SWIFT

/*not inherited*/ init(byAllowingRegex regex: NSRegularExpression)

PARAMETERS

RETURN VALUE

+filterByDisallowingModules:

Returns a filter that only allows logs not within the specified file modules to be

logged.

modules

A set of module names. If any match, they will not be logged.

OBJECTIVE-C

+ (nonnull SDLLogFilter *)filterByDisallowingModules: (nonnull NSSet<NSString *> *)modules;

SWIFT

/*not inherited*/ init(byDisallowingModules modules: Set<String>)

PARAMETERS

A filter that may be passed into the logConfiguration .

+filterByAllowingModules:

Returns a filter that only allows logs of the specified file modules to be logged.

modules

A set of module names. If any match, they will not be logged.

RETURN VALUE

OBJECTIVE-C

+ (nonnull SDLLogFilter *)filterByAllowingModules: (nonnull NSSet<NSString *> *)modules;

SWIFT

/*not inherited*/ init(byAllowingModules modules: Set<String>)

PARAMETERS

A filter that may be passed into the logConfiguration .

+filterByDisallowingFileNames:

Returns a filter that only allows logs not within the specified files to be logged.

fileNames

If a log matches any of the passed files, the log will not be logged.

RETURN VALUE

OBJECTIVE-C

+ (nonnull SDLLogFilter *)filterByDisallowingFileNames: (nonnull NSSet<NSString *> *)fileNames;

SWIFT

/*not inherited*/ init(byDisallowingFileNames fileNames: Set<String>)

PARAMETERS

A filter that may be passed into the logConfiguration .

+filterByAllowingFileNames:

Returns a filter that only allows logs within the specified files to be logged.

fileNames

If a log matches any of the passed files, the log will be logged.

RETURN VALUE

OBJECTIVE-C

+ (nonnull SDLLogFilter *)filterByAllowingFileNames: (nonnull NSSet<NSString *> *)fileNames;

SWIFT

/*not inherited*/ init(byAllowingFileNames fileNames: Set<String>)

PARAMETERS

A filter that may be passed into the logConfiguration .

SDLLogManager Class Reference

Section Contents

• modules• targets• filters• globalLogLevel• formatType• asynchronous• errorsAsynchronous• dateFormatter• logQueue• +sharedManager• +setConfiguration:• -setConfiguration:• +logWithLevel:timestamp:file:functionName:line:queue:formatMessage:• -logWithLevel:timestamp:file:functionName:line:queue:formatMessage:• +logWithLevel:timestamp:file:functionName:line:queue:message:• -logWithLevel:timestamp:file:functionName:line:queue:message:• +logBytes:direction:timestamp:file:functionName:line:queue:

RETURN VALUE

• -logBytes:direction:timestamp:file:functionName:line:queue:

Overview

This is the central manager of logging. A developer should not have to interact

with this class, it is exclusively used internally.

modules

Undocumented

targets

Undocumented

OBJECTIVE-C

@property (copy, nonatomic, readonly) NSSet<SDLLogFileModule *> *modules

SWIFT

var modules: Set<AnyHashable> { get }

filters

Undocumented

OBJECTIVE-C

@property (copy, nonatomic, readonly) NSSet<id<SDLLogTarget>> *targets

SWIFT

var targets: Set<AnyHashable> { get }

OBJECTIVE-C

@property (copy, nonatomic, readonly) NSSet<SDLLogFilter *> *filters

SWIFT

var filters: Set<AnyHashable> { get }

globalLogLevel

Any modules that do not have an explicitly specified level will by default use

this log level

formatType

Undocumented

OBJECTIVE-C

@property (readonly, assign, nonatomic) SDLLogLevel globalLogLevel;

SWIFT

var globalLogLevel: SDLLogLevel { get }

OBJECTIVE-C

@property (assign, nonatomic, readonly) SDLLogFormatType formatType

asynchronous

Undocumented

errorsAsynchronous

Undocumented

SWIFT

var formatType: SDLLogFormatType { get }

OBJECTIVE-C

@property (assign, nonatomic, readonly, getter=isAsynchronous) BOOL asynchronous

SWIFT

var isAsynchronous: Bool { get }

dateFormatter

Undocumented

OBJECTIVE-C

@property (assign, nonatomic, readonly, getter=areErrorsAsynchronous) BOOL errorsAsynchronous

SWIFT

var areErrorsAsynchronous: Bool { get }

OBJECTIVE-C

@property (class, strong, nonatomic, readonly) NSDateFormatter *dateFormatter

SWIFT

class var dateFormatter: DateFormatter { get }

logQueue

Undocumented

+sharedManager

Undocumented

OBJECTIVE-C

@property (class, assign, nonatomic, readonly) dispatch_queue_t logQueue

SWIFT

unowned(unsafe) class var logQueue: DispatchQueue { get }

OBJECTIVE-C

+ (SDLLogManager *)sharedManager;

+setConfiguration:

Sets a configuration to be used by the log manager’s sharedManager. This is

generally for internal use and you should set your configuration using

SDLManager’s startWithConfiguration: method.

configuration

SWIFT

class func shared() -> SDLLogManager

OBJECTIVE-C

+ (void)setConfiguration:(nonnull SDLLogConfiguration *)configuration;

SWIFT

class func setConfiguration(_ configuration: SDLLogConfiguration)

PARAMETERS

The configuration to be used.

-setConfiguration:

Sets a configuration to be used by the log manager. This is generally for

internal use and you should set your configuration using SDLManager’s

startWithConfiguration: method.

configuration

OBJECTIVE-C

- (void)setConfiguration:(nonnull SDLLogConfiguration *)configuration;

SWIFT

func setConfiguration(_ configuration: SDLLogConfiguration)

PARAMETERS

The configuration to be used.

+logWithLevel:timestamp:file:functionName:line:queue:formatMessage:

Log to the sharedManager’s active log targets. This is used internally to log. If

you want to create a log, you should use macros such as SDLLogD .

level

The level of the log

timestamp

The time the log was sent

file

The file the log originated from

OBJECTIVE-C

+ (void)logWithLevel:(SDLLogLevel)level timestamp:(nonnull NSDate *)timestamp file:(nonnull NSString *)file functionName:(nonnull NSString *)functionName line:(NSInteger)line queue:(nonnull NSString *)queueLabel formatMessage:(nonnull NSString *)message, ...;

PARAMETERS

functionName

The function the log originated from

line

The line the log originated from

queueLabel

The queue the log was sent from

message

The message of the log with a format

-

logWithLevel:timestamp:file:functionName:line:queue:formatMessage:

Log to this log manager’s active log targets. This is used internally to log. If you

want to create a log, you should use macros such as SDLLogD .

OBJECTIVE-C

- (void)logWithLevel:(SDLLogLevel)level timestamp:(nonnull NSDate *)timestamp file:(nonnull NSString *)file functionName:(nonnull NSString *)functionName line:(NSInteger)line queue:(nonnull NSString *)queueLabel formatMessage:(nonnull NSString *)message, ...;

level

The level of the log

timestamp

The time the log was sent

file

The file the log originated from

functionName

The function the log originated from

line

The line the log originated from

queueLabel

The queue the log was sent from

message

The message of the log with a format

PARAMETERS

+logWithLevel:timestamp:file:functionName:line:queue:message:

Log to this sharedManager’s active log targets. This is used internally to log. If

you want to create a log, you should use macros such as SDLLogD .

level

The level of the log

OBJECTIVE-C

+ (void)logWithLevel:(SDLLogLevel)level timestamp:(nonnull NSDate *)timestamp file:(nonnull NSString *)file functionName:(nonnull NSString *)functionName line:(NSInteger)line queue:(nonnull NSString *)queueLabel message:(nonnull NSString *)message;

SWIFT

class func log(with level: SDLLogLevel, timestamp: Date, file: String, functionName: String, line: Int, queue queueLabel: String, message: String)

PARAMETERS

timestamp

The time the log was sent

file

The file the log originated from

functionName

The function the log originated from

line

The line the log originated from

queueLabel

The queue the log was sent from

message

The message of the log

-

logWithLevel:timestamp:file:functionName:line:queue:message:

Log to this log manager’s active log targets. This is used internally to log. If you

want to create a log, you should use macros such as SDLLogD .

level

The level of the log

timestamp

The time the log was sent

OBJECTIVE-C

- (void)logWithLevel:(SDLLogLevel)level timestamp:(nonnull NSDate *)timestamp file:(nonnull NSString *)file functionName:(nonnull NSString *)functionName line:(NSInteger)line queue:(nonnull NSString *)queueLabel message:(nonnull NSString *)message;

SWIFT

func log(with level: SDLLogLevel, timestamp: Date, file: String, functionName: String, line: Int, queue queueLabel: String, message: String)

PARAMETERS

file

The file the log originated from

functionName

The function the log originated from

line

The line the log originated from

queueLabel

The queue the log was sent from

message

The message of the log

+logBytes:direction:timestamp:file:functionName:line:queue:

Log to this sharedManager’s active log targets. This is used internally to log.

data

The data to be logged

direction

Whether its transmit or receive data

OBJECTIVE-C

+ (void)logBytes:(nonnull NSData *)data direction:(SDLLogBytesDirection)direction timestamp:(nonnull NSDate *)timestamp file:(nonnull NSString *)file functionName:(nonnull NSString *)functionName line:(NSInteger)line queue:(nonnull NSString *)queueLabel;

SWIFT

class func logBytes(_ data: Data, direction: SDLLogBytesDirection, timestamp: Date, file: String, functionName: String, line: Int, queue queueLabel: String)

PARAMETERS

timestamp

The time the log was sent

file

The file the log originated from

functionName

The function the log originated from

line

The line the log originated from

queueLabel

The queue the log was sent from

-

logBytes:direction:timestamp:file:functionName:line:queue:

Log to this manager’s active log targets. This is used internally to log.

data

The data to be logged

direction

Whether its transmit or receive data

OBJECTIVE-C

- (void)logBytes:(nonnull NSData *)data direction:(SDLLogBytesDirection)direction timestamp:(nonnull NSDate *)timestamp file:(nonnull NSString *)file functionName:(nonnull NSString *)functionName line:(NSInteger)line queue:(nonnull NSString *)queueLabel;

SWIFT

func logBytes(_ data: Data, direction: SDLLogBytesDirection, timestamp: Date, file: String, functionName: String, line: Int, queue queueLabel: String)

PARAMETERS

timestamp

The time the log was sent

file

The file the log originated from

functionName

The function the log originated from

line

The line the log originated from

queueLabel

The queue the log was sent from

SDLManager Class Reference

Section Contents

• configuration• hmiLevel• audioStreamingState• systemContext• fileManager• permissionManager

• streamManager• registerResponse• delegate• proxy• -initWithConfiguration:delegate:• -startWithReadyHandler:• -stop• -sendRequest:• -sendRequest:withResponseHandler:

Overview

Undocumented

configuration

The configuration the manager was set up with.

OBJECTIVE-C

@property (readonly, copy, nonatomic) SDLConfiguration *_Nonnull configuration;

SWIFT

@NSCopying var configuration: SDLConfiguration { get }

hmiLevel

The current HMI level of the running app.

audioStreamingState

The current audio streaming state of the running app.

OBJECTIVE-C

@property (readonly, copy, nonatomic, nullable) SDLHMILevel hmiLevel;

SWIFT

var hmiLevel: SDLHMILevel? { get }

OBJECTIVE-C

@property (readonly, copy, nonatomic) SDLAudioStreamingState _Nonnull audioStreamingState;

systemContext

The current system context of the running app.

fileManager

The file manager to be used by the running app.

SWIFT

var audioStreamingState: SDLAudioStreamingState { get }

OBJECTIVE-C

@property (readonly, copy, nonatomic) SDLSystemContext _Nonnull systemContext;

SWIFT

var systemContext: SDLSystemContext { get }

permissionManager

The permission manager monitoring RPC permissions.

OBJECTIVE-C

@property (readonly, strong, nonatomic) SDLFileManager *_Nonnull fileManager;

SWIFT

var fileManager: SDLFileManager { get }

OBJECTIVE-C

@property (readonly, strong, nonatomic) SDLPermissionManager *_Nonnull permissionManager;

SWIFT

var permissionManager: SDLPermissionManager { get }

streamManager

The streaming media manager to be used for starting video sessions.

registerResponse

The response of a register call after it has been received.

OBJECTIVE-C

@property (readonly, strong, nonatomic, nullable) SDLStreamingMediaManager *streamManager;

SWIFT

var streamManager: SDLStreamingMediaManager? { get }

OBJECTIVE-C

@property (readonly, strong, nonatomic, nullable) SDLRegisterAppInterfaceResponse *registerResponse;

delegate

The manager’s delegate.

proxy

Undocumented

SWIFT

var registerResponse: SDLRegisterAppInterfaceResponse? { get }

OBJECTIVE-C

@property (readwrite, nonatomic, nullable) id<SDLManagerDelegate> delegate;

OBJECTIVE-C

@property (strong, nonatomic, readonly, nullable) SDLProxy *proxy

-initWithConfiguration:delegate:

Initialize the manager with a configuration. Call startWithHandler to begin

waiting for a connection.

configuration

Your app’s unique configuration for setup.

delegate

An optional delegate to be notified of hmi level changes and startup

and shutdown. It is recommended that you implement this.

SWIFT

var proxy: SDLProxy? { get }

OBJECTIVE-C

- (nonnull instancetype)initWithConfiguration:(nonnull SDLConfiguration *)configuration delegate:(nullable id<SDLManagerDelegate>)delegate;

PARAMETERS

An instance of SDLManager

-startWithReadyHandler:

Start the manager, which will tell it to start looking for a connection. Once one

does, it will automatically run the setup process and call the readyBlock when

done.

readyHandler

RETURN VALUE

OBJECTIVE-C

- (void)startWithReadyHandler:(nonnull SDLManagerReadyBlock)readyHandler;

SWIFT

func start(readyHandler: @escaping SDLManagerReadyBlock)

PARAMETERS

The block called when the manager is ready to be used or an error

occurs while attempting to become ready.

-stop

Stop the manager, it will disconnect if needed and no longer look for a

connection. You probably don’t need to call this method ever.

If you do call this method, you must wait for SDLManagerDelegate’s

managerDidDisconnect callback to call startWithReadyHandler:.

-sendRequest:

Send an RPC request and don’t bother with the response or error. If you need

the response or error, call sendRequest:withCompletionHandler: instead.

OBJECTIVE-C

- (void)stop;

SWIFT

func stop()

request

The RPC request to send

-sendRequest:withResponseHandler:

Send an RPC request and set a completion handler that will be called with the

response when the response returns.

OBJECTIVE-C

- (void)sendRequest:(nonnull SDLRPCRequest *)request;

SWIFT

func send(_ request: SDLRPCRequest)

PARAMETERS

request

The RPC request to send

handler

The handler that will be called when the response returns

OBJECTIVE-C

- (void)sendRequest:(nonnull SDLRPCRequest *)request withResponseHandler:(nullable SDLResponseHandler)handler;

SWIFT

func send(request: SDLRPCRequest, responseHandler handler: SDLResponseHandler? = nil)

PARAMETERS

SDLMenuParams Class Reference

Section Contents

• -initWithMenuName:• -initWithMenuName:parentId:position:• parentID• position• menuName

Overview

Used when adding a sub menu to an application menu or existing sub menu.

@since SDL 1.0

-initWithMenuName:

Undocumented

OBJECTIVE-C

- (instancetype)initWithMenuName:(NSString *)menuName;

-initWithMenuName:parentId:position:

Undocumented

parentID

@abstract the unique ID of an existing submenu to which a command will be

added @discussion If this element is not provided, the command will be added

to the top level of the Command Menu.

Optional, Integer, 0 - 2,000,000,000

SWIFT

init(menuName: String)

OBJECTIVE-C

- (instancetype)initWithMenuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position;

SWIFT

init(menuName: String, parentId: UInt32, position: UInt16)

position

@abstract The position within the items of the parent Command Menu

@discussion 0 will insert at the front, 1 will insert after the first existing

element, etc.

Position of any submenu will always be located before the return and exit

options.

• If position is greater or equal than the number of items in the parent

Command Menu, the sub menu will be appended to the end of that

Command Menu.• If this element is omitted, the entry will be added at the end of the parent

menu.

Optional, Integer, 0 - 1000

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *parentID;

SWIFT

var parentID: (NSNumber & SDLInt)? { get set }

menuName

@abstract the menu name which appears in menu, representing this command

Required, max length 500 characters

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *position;

SWIFT

var position: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull menuName;

SDLMetadataTags Class Reference

Section Contents

• -initWithTextFieldTypes:mainField2:• -initWithTextFieldTypes:mainField2:mainField3:mainField4:• mainField1• mainField2• mainField3• mainField4

Overview

Undocumented

-initWithTextFieldTypes:mainField2:

@abstract Constructs a newly allocated SDLMetadataType object with NSArrays

SWIFT

var menuName: String { get set }

-

initWithTextFieldTypes:mainField2:mainField3:mainField4:

Undocumented

OBJECTIVE-C

- (nonnull instancetype)initWithTextFieldTypes:(nullable NSArray<SDLMetadataType> *)mainField1 mainField2:(nullable NSArray<SDLMetadataType> *)mainField2;

SWIFT

init(textFieldTypes mainField1: [SDLMetadataType]?, mainField2: [SDLMetadataType]?)

OBJECTIVE-C

- (instancetype)initWithTextFieldTypes:(nullable NSArray<SDLMetadataType> *)mainField1 mainField2:(nullable NSArray<SDLMetadataType> *)mainField2 mainField3:(nullable NSArray<SDLMetadataType> *)mainField3 mainField4:(nullable NSArray<SDLMetadataType> *)mainField4;

mainField1

@abstract The type of data contained in the “mainField1” text field, Optional.

minsize= 0

maxsize= 5

SWIFT

init(textFieldTypes mainField1: [SDLMetadataType]?, mainField2: [SDLMetadataType]?, mainField3: [SDLMetadataType]?, mainField4: [SDLMetadataType]?)

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLMetadataType> *mainField1;

SWIFT

var mainField1: [SDLMetadataType]? { get set }

mainField2

@abstract The type of data contained in the “mainField2” text field, Optional.

minsize= 0

maxsize= 5

mainField3

@abstract The type of data contained in the “mainField3” text field, Optional.

minsize= 0

maxsize= 5

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLMetadataType> *mainField2;

SWIFT

var mainField2: [SDLMetadataType]? { get set }

mainField4

@abstract The type of data contained in the “mainField4” text field, Optional.

minsize= 0

maxsize= 5

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLMetadataType> *mainField3;

SWIFT

var mainField3: [SDLMetadataType]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLMetadataType> *mainField4;

SDLModuleData Class Reference

Section Contents

• -initWithRadioControlData:• -initWithClimateControlData:• moduleType• radioControlData• climateControlData

Overview

Undocumented

-initWithRadioControlData:

Undocumented

SWIFT

var mainField4: [SDLMetadataType]? { get set }

-initWithClimateControlData:

Undocumented

OBJECTIVE-C

- (instancetype)initWithRadioControlData:(SDLRadioControlData *)radioControlData;

SWIFT

init(radioControlData: SDLRadioControlData)

OBJECTIVE-C

- (instancetype)initWithClimateControlData:(SDLClimateControlData *)climateControlData;

SWIFT

init(climateControlData: SDLClimateControlData)

moduleType

The moduleType indicates which type of data should be changed and identifies

which data object exists in this struct. For example, if the moduleType is

CLIMATE then a “climateControlData” should exist

radioControlData

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLModuleType _Nonnull moduleType;

SWIFT

var moduleType: SDLModuleType { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLRadioControlData *radioControlData

climateControlData

Undocumented

SWIFT

var radioControlData: SDLRadioControlData? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLClimateControlData *climateControlData

SWIFT

var climateControlData: SDLClimateControlData? { get set }

SDLMyKey Class Reference

Section Contents

• e911Override

Overview

Undocumented

e911Override

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataStatus e911Override

SWIFT

var e911Override: SDLVehicleDataStatus { get set }

SDLNavigationCapability ClassReference

Section Contents

• -initWithSendLocation:waypoints:• sendLocationEnabled• getWayPointsEnabled

Overview

Undocumented

-initWithSendLocation:waypoints:

Undocumented

OBJECTIVE-C

- (instancetype)initWithSendLocation:(BOOL)sendLocationEnabled waypoints:(BOOL)waypointsEnabled;

SWIFT

init(sendLocation sendLocationEnabled: Bool, waypoints waypointsEnabled: Bool)

sendLocationEnabled

Whether or not the SendLocation RPC is enabled. Boolean, optional

getWayPointsEnabled

Whether or not Waypoint related RPCs are enabled. Boolean, optional

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSNumber *sendLocationEnabled;

SWIFT

@NSCopying var sendLocationEnabled: NSNumber? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSNumber *getWayPointsEnabled;

SDLNotificationConstants ClassReference

Section Contents

• +allResponseNames• +allButtonEventNotifications

Overview

Undocumented

+allResponseNames

Undocumented

SWIFT

@NSCopying var getWayPointsEnabled: NSNumber? { get set }

OBJECTIVE-C

+ (NSArray<SDLNotificationName> *)allResponseNames;

+allButtonEventNotifications

Undocumented

SWIFT

class func allResponseNames() -> [NSNotification.Name]

OBJECTIVE-C

+ (NSArray<SDLNotificationName> *)allButtonEventNotifications;

SWIFT

class func allButtonEventNotifications() -> [NSNotification.Name]

SDLOasisAddress Class Reference

Section Contents

• -

initWithSubThoroughfare:thoroughfare:locality:administrativeArea:postalCode:countryCode:• -

initWithSubThoroughfare:thoroughfare:locality:administrativeArea:postalCode:countryCode:countryName:su• countryName• countryCode• postalCode• administrativeArea• subAdministrativeArea• locality• subLocality• thoroughfare• subThoroughfare

Overview

Undocumented

-

initWithSubThoroughfare:thoroughfare:locality:administrativeArea:postalCode:

Undocumented

-

initWithSubThoroughfare:thoroughfare:locality:administrativeArea:postalCode:

Undocumented

OBJECTIVE-C

- (instancetype)initWithSubThoroughfare:(nullable NSString *)subThoroughfare thoroughfare:(nullable NSString *)thoroughfare locality:(nullable NSString *)locality administrativeArea:(nullable NSString *)administrativeArea postalCode:(nullable NSString *)postalCode countryCode:(nullable NSString *)countryCode;

SWIFT

init(subThoroughfare: String?, thoroughfare: String?, locality: String?, administrativeArea: String?, postalCode: String?, countryCode: String?)

countryName

@abstract Name of the country (localized)

Optional, max length = 200

OBJECTIVE-C

- (instancetype)initWithSubThoroughfare:(nullable NSString *)subThoroughfare thoroughfare:(nullable NSString *)thoroughfare locality:(nullable NSString *)locality administrativeArea:(nullable NSString *)administrativeArea postalCode:(nullable NSString *)postalCode countryCode:(nullable NSString *)countryCode countryName:(nullable NSString *)countryName subAdministrativeArea:(nullable NSString *)subAdministrativeArea subLocality:(nullable NSString *)subLocality;

SWIFT

init(subThoroughfare: String?, thoroughfare: String?, locality: String?, administrativeArea: String?, postalCode: String?, countryCode: String?, countryName: String?, subAdministrativeArea: String?, subLocality: String?)

countryCode

@abstract countryCode of the country(ISO 3166-2)

Optional, max length = 200

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *countryName;

SWIFT

var countryName: String? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *countryCode;

postalCode

@abstract postalCode of location (PLZ, ZIP, PIN, CAP etc.)

Optional, max length = 200

administrativeArea

@abstract Portion of country (e.g. state)

Optional, max length = 200

SWIFT

var countryCode: String? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *postalCode;

SWIFT

var postalCode: String? { get set }

subAdministrativeArea

@abstract Portion of administrativeArea (e.g. county)

Optional, max length = 200

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *administrativeArea;

SWIFT

var administrativeArea: String? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *subAdministrativeArea;

locality

@abstract Hypernym for city/village

Optional, max length = 200

subLocality

@abstract Hypernym for district

Optional, max length = 200

SWIFT

var subAdministrativeArea: String? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *locality;

SWIFT

var locality: String? { get set }

thoroughfare

@abstract Hypernym for street, road etc.

Optional, max length = 200

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *subLocality;

SWIFT

var subLocality: String? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *thoroughfare;

subThoroughfare

@abstract Portion of thoroughfare (e.g. house number)

Optional, max length = 200

SWIFT

var thoroughfare: String? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *subThoroughfare;

SWIFT

var subThoroughfare: String? { get set }

SDLOnAppInterfaceUnregistered ClassReference

Section Contents

• reason

Overview

Notifies an application that its interface registration has been terminated. This

means that all SDL resources associated with the application are discarded,

including the Command Menu, Choice Sets, button subscriptions, etc.

For more information about SDL resources related to an interface registration,

see SDLRegisterAppInterface.

@since SDL 1.0

SeeSDLRegisterAppInterface

reason

@abstract The reason application’s interface was terminated

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLAppInterfaceUnregisteredReason _Nonnull reason;

SDLOnButtonEvent Class Reference

Section Contents

• buttonName• buttonEventMode• customButtonID

Overview

Notifies application that user has depressed or released a button to which the

application has subscribed.

Further information about button events and button-presses can be found at

SDLSubscribeButton.

HMI Status Requirements:

HMILevel:

◦ The application will receive SDLOnButtonEvent notifications for all

subscribed buttons when HMILevel is FULL.◦ The application will receive SDLOnButtonEvent notifications for

subscribed media buttons when HMILevel is LIMITED.◦ Media buttons include SEEKLEFT, SEEKRIGHT, TUNEUP, TUNEDOWN,

and PRESET_0-PRESET_9.

SWIFT

var reason: SDLAppInterfaceUnregisteredReason { get set }

◦ The application will not receive SDLOnButtonEvent notification when

HMILevel is BACKGROUND.

AudioStreamingState:

◦ Any

SystemContext:

◦ MAIN, VR. In MENU, only PRESET buttons. In VR, pressing any

subscribable button will cancel VR.

SeeSDLSubscribeButton @since SDL 1.0

buttonName

@abstract The name of the button

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull buttonName;

SWIFT

var buttonName: SDLButtonName { get set }

buttonEventMode

@abstract Indicates whether this is an UP or DOWN event

customButtonID

@abstract If ButtonName is “CUSTOM_BUTTON”, this references the integer ID

passed by a custom button. (e.g. softButton ID)

@since SDL 2.0

Optional, Integer, 0 - 65536

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLButtonEventMode _Nonnull buttonEventMode;

SWIFT

var buttonEventMode: SDLButtonEventMode { get set }

SDLOnButtonPress Class Reference

Section Contents

• buttonName• buttonPressMode• customButtonID

Overview

Notifies application of button press events for buttons to which the application

is subscribed. SDL supports two button press events defined as follows:

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *customButtonID;

SWIFT

var customButtonID: (NSNumber & SDLInt)? { get set }

• SHORT - Occurs when a button is depressed, then released within two

seconds. The event is considered to occur immediately after the button is

released.• LONG - Occurs when a button is depressed and held for two seconds or

more. The event is considered to occur immediately after the two second

threshold has been crossed, before the button is released

HMI Status Requirements:

HMILevel:

◦ The application will receive OnButtonPress notifications for all

subscribed buttons when HMILevel is FULL.◦ The application will receive OnButtonPress notifications for

subscribed media buttons when HMILevel is LIMITED.◦ Media buttons include SEEKLEFT, SEEKRIGHT, TUNEUP, TUNEDOWN,

and PRESET_0-PRESET_9.◦ The application will not receive OnButtonPress notification when

HMILevel is BACKGROUND or NONE.

AudioStreamingState:

◦ Any

SystemContext:

◦ MAIN, VR. In MENU, only PRESET buttons. In VR, pressing any

subscribable button will cancel VR.

SeeSDLSubscribeButton SeeSDLUnsubscribeButton @since SDL 1.0

buttonName

@abstract the button’s name

SeeSDLButtonName Required

buttonPressMode

@abstract Indicates whether this is a LONG or SHORT button press event

SeeSDLButtonPressMode Required

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull buttonName;

SWIFT

var buttonName: SDLButtonName { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLButtonPressMode _Nonnull buttonPressMode;

customButtonID

@abstract If ButtonName is “CUSTOM_BUTTON”, this references the integer ID

passed by a custom button. (e.g. softButton ID)

@since SDL 2.0

Optional, Integer 0 - 65536

SWIFT

var buttonPressMode: SDLButtonPressMode { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *customButtonID;

SWIFT

var customButtonID: (NSNumber & SDLInt)? { get set }

SDLOnCommand Class Reference

Section Contents

• cmdID• triggerSource

Overview

This is called when a command was selected via VR after pressing the PTT

button, or selected from the menu after pressing the MENU button.

Note: The sequence of SDLOnHMIStatus and SDLOnCommand notifications for

user-initiated interactions is indeterminate.

@since SDL 1.0

SeeSDLAddCommand SDLDeleteCommand SDLDeleteSubMenu

cmdID

@abstract The command ID of the command the user selected. This is the

command ID value provided by the application in the SDLAddCommand

operation that created the command.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull cmdID;

triggerSource

@abstract Indicates whether command was selected via voice or via a menu

selection (using the OK button).

SWIFT

var cmdID: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLTriggerSource _Nonnull triggerSource;

SWIFT

var triggerSource: SDLTriggerSource { get set }

SDLOnDriverDistraction ClassReference

Section Contents

• state

Overview

Notifies the application of the current driver distraction state (whether driver

distraction rules are in effect, or not).

HMI Status Requirements:

HMILevel:

◦ Can be sent with FULL, LIMITED or BACKGROUND

AudioStreamingState:

◦ Any

SystemContext:

◦ Any

@since SDL 1.0

state

@abstract The driver distraction state (i.e. whether driver distraction rules are

in effect, or not)

SDLOnEncodedSyncPData ClassReference

Section Contents

• data• URL• Timeout

Overview

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLDriverDistractionState _Nonnull state;

SWIFT

var state: SDLDriverDistractionState { get set }

data

Undocumented

URL

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSArray<NSString *> *data

SWIFT

var data: [String] { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *URL

Timeout

Undocumented

SWIFT

var url: String? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLInt> *Timeout

SWIFT

var timeout: (NSNumber & SDLInt)? { get set }

SDLOnHMIStatus Class Reference

Section Contents

• hmiLevel• audioStreamingState• systemContext

Overview

Notifies an application that HMI conditions have changed for the application.

This indicates whether the application can speak phrases, display text, perform

interactions, receive button presses and events, stream audio, etc. This

notification will be sent to the application when there has been a change in any

one or several of the indicated states (SDLHMILevel, SDLAudioStreamingState

or SDLSystemContext) for the application.

All three values are, in principle, independent of each other (though there may

be some relationships). A value for one parameter should not be interpreted

from the value of another parameter.

There are no guarantees about the timeliness or latency of the

SDLOnHMIStatus notification. Therefore, for example, information such as

SDLAudioStreamingState may not indicate that the audio stream became

inaudible to the user exactly when the SDLOnHMIStatus notification was

received.

@since SDL 1.0

hmiLevel

@abstract SDLHMILevel in effect for the application

audioStreamingState

@abstract Current state of audio streaming for the application. When this

parameter has a value of NOT_AUDIBLE, the application must stop streaming

audio to SDL.

Informs app whether any currently streaming audio is audible to user (AUDIBLE)

or not (NOT_AUDIBLE). A value of NOT_AUDIBLE means that either the

application’s audio will not be audible to the user, or that the application’s

audio should not be audible to the user (i.e. some other application on the

mobile device may be streaming audio and the application’s audio would be

blended with that other audio).

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLHMILevel _Nonnull hmiLevel;

SWIFT

var hmiLevel: SDLHMILevel { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLAudioStreamingState _Nonnull audioStreamingState;

systemContext

@abstract the System Context @discussion whether a user-initiated interaction

is in-progress (VRSESSION or MENU), or not (MAIN)

SWIFT

var audioStreamingState: SDLAudioStreamingState { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLSystemContext _Nonnull systemContext;

SWIFT

var systemContext: SDLSystemContext { get set }

SDLOnHashChange Class Reference

Section Contents

• hashID

Overview

Undocumented

hashID

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSString *hashID

SWIFT

var hashID: String { get set }

SDLOnInteriorVehicleData ClassReference

Section Contents

• moduleData

Overview

Undocumented

moduleData

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLModuleData *moduleData

SWIFT

var moduleData: SDLModuleData { get set }

SDLOnKeyboardInput Class Reference

Section Contents

• event• data

Overview

Undocumented

event

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLKeyboardEvent event

SWIFT

var event: SDLKeyboardEvent { get set }

data

Undocumented

SDLOnLanguageChange ClassReference

Section Contents

• language

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *data

SWIFT

var data: String? { get set }

• hmiDisplayLanguage

Overview

Provides information to what language the SDL HMI language was changed

@since SDL 2.0

language

@abstract Current SDL voice engine (VR+TTS) language

hmiDisplayLanguage

@abstract Current display language

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull language;

SWIFT

var language: SDLLanguage { get set }

SDLOnLockScreenStatus ClassReference

Section Contents

• driverDistractionStatus• userSelected• lockScreenStatus

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull hmiDisplayLanguage;

SWIFT

var hmiDisplayLanguage: SDLLanguage { get set }

• hmiLevel

Overview

driverDistractionStatus

Get the current driver distraction status(i.e. whether driver distraction rules are

in effect, or not)

To help prevent driver distraction, any SmartDeviceLink application is required to implement a lockscreen that must be enforced while the application is active on the system while the vehicle is in motion.

This lockscreen must perform the following:Limit all application control usability from the mobile device with a full-screen static image overlay or separate view.For simplicity, the OnLockScreenStatus RPC will be provided via the onOnLockScreenNotification call back. The call back will include the LockScreenStatus enum which indicates if the lockscreen is required, optional or not required.The call back also includes details regarding the current HMI_Status level, driver distraction status and user selection status of the application.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull driverDistractionStatus;

String

userSelected

Get user selection status for the application (has the app been selected via hmi

or voice command)

SWIFT

var driverDistractionStatus: NSNumber & SDLBool { get set }

RETURN VALUE

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull userSelected;

SWIFT

var userSelected: NSNumber & SDLBool { get set }

Boolean the current user selection status

lockScreenStatus

Get the {@linkplain LockScreenStatus} enumeration, indicating if the

lockscreen should be required, optional or off

{@linkplain LockScreenStatus}

RETURN VALUE

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLLockScreenStatus _Nonnull lockScreenStatus;

SWIFT

var lockScreenStatus: SDLLockScreenStatus { get set }

RETURN VALUE

hmiLevel

Get HMILevel in effect for the application

{@linkplain HMILevel} the current HMI Level in effect for the application

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLHMILevel _Nonnull hmiLevel;

SWIFT

var hmiLevel: SDLHMILevel { get set }

RETURN VALUE

SDLOnPermissionsChange ClassReference

Section Contents

• permissionItem

Overview

Provides update to app of which sets of functions are available

@since SDL 2.0

permissionItem

@abstract Describes change in permissions for a given set of RPCs

Required, Array of SDLPermissionItem, Array size 0 - 500

SeeSDLPermissionItem

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<SDLPermissionItem *> *_Nonnull permissionItem;

SDLOnSyncPData Class Reference

Section Contents

• URL• Timeout

Overview

Undocumented

URL

Undocumented

SWIFT

var permissionItem: [SDLPermissionItem] { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *URL

Timeout

Undocumented

SWIFT

var url: String? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLInt> *Timeout

SWIFT

var timeout: (NSNumber & SDLInt)? { get set }

SDLOnSystemRequest Class Reference

Section Contents

• requestType• url• timeout• fileType• offset• length

Overview

Undocumented

requestType

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLRequestType requestType

SWIFT

var requestType: SDLRequestType { get set }

url

Undocumented

timeout

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *url

SWIFT

var url: String? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLInt> *timeout

fileType

Undocumented

offset

Undocumented

SWIFT

var timeout: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLFileType fileType

SWIFT

var fileType: SDLFileType? { get set }

length

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLUInt> *offset

SWIFT

var offset: (NSNumber & SDLUInt)? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSNumber<SDLUInt> *length

SWIFT

var length: (NSNumber & SDLUInt)? { get set }

SDLOnTBTClientState Class Reference

Section Contents

• state

Overview

Undocumented

state

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLTBTState state

SWIFT

var state: SDLTBTState { get set }

SDLOnTouchEvent Class Reference

Section Contents

• type• event

Overview

Undocumented

type

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLTouchType type

SWIFT

var type: SDLTouchType { get set }

event

Undocumented

SDLOnVehicleData Class Reference

Section Contents

• gps• speed• rpm• fuelLevel• fuelLevel_State• instantFuelConsumption• externalTemperature• vin

OBJECTIVE-C

@property (strong, nonatomic) NSArray<SDLTouchEvent *> *event

SWIFT

var event: [SDLTouchEvent] { get set }

• prndl• tirePressure• odometer• beltStatus• bodyInformation• deviceStatus• driverBraking• wiperStatus• headLampStatus• engineTorque• accPedalPosition• steeringWheelAngle• eCallInfo• airbagStatus• emergencyEvent• clusterModeStatus• myKey

Overview

Request vehicle data.

Since SmartDeviceLink 2.0

gps

@abstract A SDLGPSData* value. See GPSData.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLGPSData *gps;

speed

@abstract The vehicle speed in kilometers per hour.

rpm

@abstract The number of revolutions per minute of the engine.

SWIFT

var gps: SDLGPSData? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *speed;

SWIFT

var speed: (NSNumber & SDLFloat)? { get set }

fuelLevel

@abstract The fuel level in the tank (percentage)

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *rpm;

SWIFT

var rpm: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *fuelLevel;

SWIFT

var fuelLevel: (NSNumber & SDLFloat)? { get set }

fuelLevel_State

@abstract A SDLComponentVolumeStatus* value. The fuel level state.

instantFuelConsumption

@abstract The instantaneous fuel consumption in microlitres.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLComponentVolumeStatus fuelLevel_State;

SWIFT

var fuelLevel_State: SDLComponentVolumeStatus? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *instantFuelConsumption;

externalTemperature

@abstract The external temperature in degrees celsius.

vin

@abstract The Vehicle Identification Number

SWIFT

var instantFuelConsumption: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *externalTemperature;

SWIFT

var externalTemperature: (NSNumber & SDLFloat)? { get set }

prndl

@abstract See PRNDL.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *vin;

SWIFT

var vin: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLPRNDL prndl;

SWIFT

var prndl: SDLPRNDL? { get set }

tirePressure

@abstract A SDLTireStatus* value. See TireStatus.

odometer

@abstract Odometer reading in km.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLTireStatus *tirePressure;

SWIFT

var tirePressure: SDLTireStatus? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *odometer;

beltStatus

@abstract A SDLBeltStatus* value. The status of the seat belts.

bodyInformation

@abstract A SDLBodyInformation* value. The body information including power

modes.

SWIFT

var odometer: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLBeltStatus *beltStatus;

SWIFT

var beltStatus: SDLBeltStatus? { get set }

deviceStatus

@abstract A SDLDeviceStatus* value. The device status including signal and

battery strength.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLBodyInformation *bodyInformation;

SWIFT

var bodyInformation: SDLBodyInformation? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLDeviceStatus *deviceStatus;

driverBraking

@abstract A SDLVehicleDataResult* value. The status of the brake pedal.

wiperStatus

@abstract A SDLWiperStatus* value. The status of the wipers.

SWIFT

var deviceStatus: SDLDeviceStatus? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataEventStatus driverBraking;

SWIFT

var driverBraking: SDLVehicleDataEventStatus? { get set }

headLampStatus

@abstract A SDLHeadLampStatus* value. Status of the head lamps.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLWiperStatus wiperStatus;

SWIFT

var wiperStatus: SDLWiperStatus? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLHeadLampStatus *headLampStatus;

SWIFT

var headLampStatus: SDLHeadLampStatus? { get set }

engineTorque

@abstract Torque value for engine (in Nm) on non-diesel variants.

accPedalPosition

@abstract Accelerator pedal position (percentage depressed)

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *engineTorque;

SWIFT

var engineTorque: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *accPedalPosition;

steeringWheelAngle

@abstract Current angle of the steering wheel (in deg)

eCallInfo

Undocumented

SWIFT

var accPedalPosition: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *steeringWheelAngle;

SWIFT

var steeringWheelAngle: (NSNumber & SDLFloat)? { get set }

airbagStatus

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLECallInfo *eCallInfo

SWIFT

var eCallInfo: SDLECallInfo? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLAirbagStatus *airbagStatus

SWIFT

var airbagStatus: SDLAirbagStatus? { get set }

emergencyEvent

Undocumented

clusterModeStatus

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLEmergencyEvent *emergencyEvent

SWIFT

var emergencyEvent: SDLEmergencyEvent? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLClusterModeStatus *clusterModeStatus

myKey

Undocumented

SWIFT

var clusterModeStatus: SDLClusterModeStatus? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLMyKey *myKey

SWIFT

var myKey: SDLMyKey? { get set }

SDLParameterPermissions ClassReference

Section Contents

• allowed• userDisallowed

Overview

Defining sets of parameters, which are permitted or prohibited for a given RPC.

@since SDL 2.0

allowed

@abstract A set of all parameters that are permitted for this given RPC.

Required, Array of String, max String length = 100, Array size 0 - 100

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<NSString *> *_Nonnull allowed;

userDisallowed

@abstract A set of all parameters that are prohibited for this given RPC.

Required, Array of String, max String length = 100, Array size 0 - 100

SWIFT

var allowed: [String] { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<NSString *> *_Nonnull userDisallowed;

SWIFT

var userDisallowed: [String] { get set }

SDLPerformAudioPassThru ClassReference

Section Contents

• -initWithSamplingRate:bitsPerSample:audioType:maxDuration:• -

initWithInitialPrompt:audioPassThruDisplayText1:audioPassThruDisplayText2:samplingRate:bitsPerSample:au• -

initWithSamplingRate:bitsPerSample:audioType:maxDuration:audioDataHandler:• -

initWithInitialPrompt:audioPassThruDisplayText1:audioPassThruDisplayText2:samplingRate:bitsPerSample:au• initialPrompt• audioPassThruDisplayText1• audioPassThruDisplayText2• samplingRate• maxDuration• bitsPerSample• audioType• muteAudio• audioDataHandler

Overview

This will open an audio pass thru session. By doing so the app can receive

audio data through the vehicle microphone

Function Group: AudioPassThru

HMILevel needs to be FULL, LIMITED or BACKGROUND

Since SmartDeviceLink 2.0

See SDLEndAudioPassThru

-

initWithSamplingRate:bitsPerSample:audioType:maxDuration:

Undocumented

-

initWithInitialPrompt:audioPassThruDisplayText1:audioPassThruDisplayText2:sa

Undocumented

OBJECTIVE-C

- (instancetype)initWithSamplingRate:(SDLSamplingRate)samplingRate bitsPerSample:(SDLBitsPerSample)bitsPerSample audioType:(SDLAudioType)audioType maxDuration:(UInt32)maxDuration;

SWIFT

init(samplingRate: SDLSamplingRate, bitsPerSample: SDLBitsPerSample, audioType: SDLAudioType, maxDuration: UInt32)

-

initWithSamplingRate:bitsPerSample:audioType:maxDuration:audioDataHandle

Undocumented

OBJECTIVE-C

- (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt audioPassThruDisplayText1:(nullable NSString *)audioPassThruDisplayText1 audioPassThruDisplayText2:(nullable NSString *)audioPassThruDisplayText2 samplingRate:(SDLSamplingRate)samplingRate bitsPerSample:(SDLBitsPerSample)bitsPerSample audioType:(SDLAudioType)audioType maxDuration:(UInt32)maxDuration muteAudio:(BOOL)muteAudio;

SWIFT

init(initialPrompt: String?, audioPassThruDisplayText1: String?, audioPassThruDisplayText2: String?, samplingRate: SDLSamplingRate, bitsPerSample: SDLBitsPerSample, audioType: SDLAudioType, maxDuration: UInt32, muteAudio: Bool)

initialPrompt

@abstract initial prompt which will be spoken before opening the audio pass

thru session by SDL @discussion initialPrompt a Vector value represents the

initial prompt which will be spoken before opening the audio pass thru session

by SDL

Notes:

• This is an array of text chunks of type TTSChunk• The array must have at least one item• If omitted, then no initial prompt is spoken

OBJECTIVE-C

- (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt audioPassThruDisplayText1:(nullable NSString *)audioPassThruDisplayText1 audioPassThruDisplayText2:(nullable NSString *)audioPassThruDisplayText2 samplingRate:(SDLSamplingRate)samplingRate bitsPerSample:(SDLBitsPerSample)bitsPerSample audioType:(SDLAudioType)audioType maxDuration:(UInt32)maxDuration muteAudio:(BOOL)muteAudio audioDataHandler:(nullable SDLAudioPassThruHandler)audioDataHandler;

SWIFT

init(initialPrompt: String?, audioPassThruDisplayText1: String?, audioPassThruDisplayText2: String?, samplingRate: SDLSamplingRate, bitsPerSample: SDLBitsPerSample, audioType: SDLAudioType, maxDuration: UInt32, muteAudio: Bool, audioDataHandler: SDLAudioPassThruHandler? = nil)

• Array Minsize: 1• Array Maxsize: 100

audioPassThruDisplayText1

@abstract a line of text displayed during audio capture @discussion

audioPassThruDisplayText1 a String value representing the line of text

displayed during audio capture

Notes: Maxlength=500

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *initialPrompt;

SWIFT

var initialPrompt: [SDLTTSChunk]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *audioPassThruDisplayText1;

audioPassThruDisplayText2

@abstract A line of text displayed during audio capture @discussion

audioPassThruDisplayText2 a String value representing the line of text

displayed during audio capture

Notes: Maxlength=500

samplingRate

@abstract A samplingRate

SWIFT

var audioPassThruDisplayText1: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *audioPassThruDisplayText2;

SWIFT

var audioPassThruDisplayText2: String? { get set }

@discussion a SamplingRate value representing a 8 or 16 or 22 or 24 khz

maxDuration

@abstract the maximum duration of audio recording in milliseconds

@discussion maxDuration an Integer value representing the maximum duration

of audio recording in millisecond

Notes: Minvalue:1; Maxvalue:1000000

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLSamplingRate _Nonnull samplingRate;

SWIFT

var samplingRate: SDLSamplingRate { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull maxDuration;

bitsPerSample

@abstract the quality the audio is recorded - 8 bit or 16 bit

@discussion a BitsPerSample value representing 8 bit or 16 bit

audioType

@abstract an audioType

SWIFT

var maxDuration: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLBitsPerSample _Nonnull bitsPerSample;

SWIFT

var bitsPerSample: SDLBitsPerSample { get set }

muteAudio

@abstract a Boolean value representing if the current audio source should be

muted during the APT session

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLAudioType _Nonnull audioType;

SWIFT

var audioType: SDLAudioType { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *muteAudio;

audioDataHandler

A handler that will be called whenever an onAudioPassThru notification is

received.

SWIFT

var muteAudio: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLAudioPassThruHandler audioDataHandler;

SWIFT

var audioDataHandler: SDLAudioPassThruHandler? { get set }

SDLPerformInteraction Class Reference

Section Contents

• -initWithInteractionChoiceSetId:• -initWithInteractionChoiceSetIdList:• -initWithInitialPrompt:initialText:interactionChoiceSetID:• -initWithInitialPrompt:initialText:interactionChoiceSetID:vrHelp:• -

initWithInitialPrompt:initialText:interactionChoiceSetIDList:helpPrompt:timeoutPrompt:interactionMode:timeo• -

initWithInitialPrompt:initialText:interactionChoiceSetIDList:helpPrompt:timeoutPrompt:interactionMode:timeo• -

initWithInitialChunks:initialText:interactionChoiceSetIDList:helpChunks:timeoutChunks:interactionMode:time• -

initWithInitialChunks:initialText:interactionChoiceSetIDList:helpChunks:timeoutChunks:interactionMode:time• initialText• initialPrompt• interactionMode• interactionChoiceSetIDList• helpPrompt• timeoutPrompt• timeout• vrHelp• interactionLayout

Overview

Performs an application-initiated interaction in which the user can select a

{@linkplain Choice} from among the specified Choice Sets. For instance, an

application may use a PerformInteraction to ask a user to say the name of a

song to play. The user’s response is only valid if it appears in the specified

Choice Sets and is recognized by SDL

Function Group: Base

HMILevel needs to be FULL

Since SmartDeviceLink 1.0

See SDLCreateInteractionChoiceSet SDLDeleteInteractionChoiceSet

-initWithInteractionChoiceSetId:

Undocumented

-initWithInteractionChoiceSetIdList:

Undocumented

OBJECTIVE-C

- (instancetype)initWithInteractionChoiceSetId:(UInt16)interactionChoiceSetId;

SWIFT

init(interactionChoiceSetId: UInt16)

-

initWithInitialPrompt:initialText:interactionChoiceSetID:

Undocumented

OBJECTIVE-C

- (instancetype)initWithInteractionChoiceSetIdList:(NSArray<NSNumber<SDLUInt> *> *)interactionChoiceSetIdList;

SWIFT

init(interactionChoiceSetIdList: [NSNumber & SDLUInt])

OBJECTIVE-C

- (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(UInt16)interactionChoiceSetID;

-

initWithInitialPrompt:initialText:interactionChoiceSetID:vrHelp:

Undocumented

SWIFT

init(initialPrompt: String?, initialText: String, interactionChoiceSetID: UInt16)

OBJECTIVE-C

- (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(UInt16)interactionChoiceSetID vrHelp:(nullable NSArray<SDLVRHelpItem *> *)vrHelp;

SWIFT

init(initialPrompt: String?, initialText: String, interactionChoiceSetID: UInt16, vrHelp: [SDLVRHelpItem]?)

-

initWithInitialPrompt:initialText:interactionChoiceSetIDList:helpPrompt:timeout

Undocumented

-

initWithInitialPrompt:initialText:interactionChoiceSetIDList:helpPrompt:timeout

Undocumented

OBJECTIVE-C

- (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray<NSNumber<SDLUInt> *> *)interactionChoiceSetIDList helpPrompt:(nullable NSString *)helpPrompt timeoutPrompt:(nullable NSString *)timeoutPrompt interactionMode:(SDLInteractionMode)interactionMode timeout:(UInt32)timeout;

SWIFT

init(initialPrompt: String?, initialText: String, interactionChoiceSetIDList: [NSNumber & SDLUInt], helpPrompt: String?, timeoutPrompt: String?, interactionMode: SDLInteractionMode, timeout: UInt32)

-

initWithInitialChunks:initialText:interactionChoiceSetIDList:helpChunks:timeout

Undocumented

OBJECTIVE-C

- (instancetype)initWithInitialPrompt:(nullable NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray<NSNumber<SDLUInt> *> *)interactionChoiceSetIDList helpPrompt:(nullable NSString *)helpPrompt timeoutPrompt:(nullable NSString *)timeoutPrompt interactionMode:(SDLInteractionMode)interactionMode timeout:(UInt32)timeout vrHelp:(nullable NSArray<SDLVRHelpItem *> *)vrHelp;

SWIFT

init(initialPrompt: String?, initialText: String, interactionChoiceSetIDList: [NSNumber & SDLUInt], helpPrompt: String?, timeoutPrompt: String?, interactionMode: SDLInteractionMode, timeout: UInt32, vrHelp: [SDLVRHelpItem]?)

-

initWithInitialChunks:initialText:interactionChoiceSetIDList:helpChunks:timeout

Undocumented

OBJECTIVE-C

- (instancetype)initWithInitialChunks:(nullable NSArray<SDLTTSChunk *> *)initialChunks initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray<NSNumber<SDLUInt> *> *)interactionChoiceSetIDList helpChunks:(nullable NSArray<SDLTTSChunk *> *)helpChunks timeoutChunks:(nullable NSArray<SDLTTSChunk *> *)timeoutChunks interactionMode:(SDLInteractionMode)interactionMode timeout:(UInt32)timeout vrHelp:(nullable NSArray<SDLVRHelpItem *> *)vrHelp;

SWIFT

init(initialChunks: [SDLTTSChunk]?, initialText: String, interactionChoiceSetIDList: [NSNumber & SDLUInt], help helpChunks: [SDLTTSChunk]?, timeoutChunks: [SDLTTSChunk]?, interactionMode: SDLInteractionMode, timeout: UInt32, vrHelp: [SDLVRHelpItem]?)

initialText

@abstract The Text that Displayed when the interaction begins. This text may

be overlaid by the “Listening” prompt during the interaction. Text is displayed

OBJECTIVE-C

- (instancetype)initWithInitialChunks:(nullable NSArray<SDLTTSChunk *> *)initialChunks initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray<NSNumber<SDLUInt> *> *)interactionChoiceSetIDList helpChunks:(nullable NSArray<SDLTTSChunk *> *)helpChunks timeoutChunks:(nullable NSArray<SDLTTSChunk *> *)timeoutChunks interactionMode:(SDLInteractionMode)interactionMode timeout:(UInt32)timeout vrHelp:(nullable NSArray<SDLVRHelpItem *> *)vrHelp interactionLayout:(nullable SDLLayoutMode)layout;

SWIFT

init(initialChunks: [SDLTTSChunk]?, initialText: String, interactionChoiceSetIDList: [NSNumber & SDLUInt], help helpChunks: [SDLTTSChunk]?, timeoutChunks: [SDLTTSChunk]?, interactionMode: SDLInteractionMode, timeout: UInt32, vrHelp: [SDLVRHelpItem]?, interactionLayout layout: SDLLayoutMode?)

on first line of multiline display, and is centered. If text does not fit on line, it

will be truncated

initialPrompt

@abstract An array of one or more TTSChunks that, taken together, specify

what is to be spoken to the user at the start of an interaction

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull initialText;

SWIFT

var initialText: String { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *initialPrompt;

interactionMode

@abstract The Indicates mode that indicate how user selects interaction

choice. User can choose either by voice (VR_ONLY), by visual selection from the

menu (MANUAL_ONLY), or by either mode (BOTH)

interactionChoiceSetIDList

@abstract A Vector value representing an Array of one or more Choice Set IDs

SWIFT

var initialPrompt: [SDLTTSChunk]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLInteractionMode _Nonnull interactionMode;

SWIFT

var interactionMode: SDLInteractionMode { get set }

helpPrompt

@abstract A Vector which taken together, specify the help phrase to be spoken

when the user says “help” during the VR session

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<NSNumber<SDLInt> *> *_Nonnull interactionChoiceSetIDList;

SWIFT

var interactionChoiceSetIDList: [NSNumber & SDLInt] { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *helpPrompt;

timeoutPrompt

@abstract An array of TTSChunks which, taken together, specify the phrase to

be spoken when the listen times out during the VR session

timeout

@abstract An Integer value representing the amount of time, in milliseconds,

SDL will wait for the user to make a choice (VR or Menu)

SWIFT

var helpPrompt: [SDLTTSChunk]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *timeoutPrompt;

SWIFT

var timeoutPrompt: [SDLTTSChunk]? { get set }

vrHelp

@abstract A Voice recognition Help, which is a suggested VR Help Items to

display on-screen during Perform Interaction @since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *timeout;

SWIFT

var timeout: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLVRHelpItem *> *vrHelp;

interactionLayout

Undocumented

SWIFT

var vrHelp: [SDLVRHelpItem]? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLLayoutMode interactionLayout

SWIFT

var interactionLayout: SDLLayoutMode? { get set }

SDLPerformInteractionResponse ClassReference

Section Contents

• choiceID• manualTextEntry• triggerSource

Overview

PerformInteraction Response is sent, when SDLPerformInteraction has been

called

@since SDL 1.0

choiceID

@abstract ID of the choice that was selected in response to PerformInteraction.

@discussion Only is valid if general result is “success:true”.

Optional, Integer, 0 - 2,000,000,000

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *choiceID;

manualTextEntry

@abstract Manually entered text selection, e.g. through keyboard

@discussion Can be returned in lieu of choiceID, depending on trigger source

Optional, Max length 500 chars

triggerSource

@abstract A SDLTriggerSource object which will be shown in the HMI

SWIFT

var choiceID: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *manualTextEntry;

SWIFT

var manualTextEntry: String? { get set }

@discussion Only is valid if resultCode is SUCCESS.

SDLPermissionItem Class Reference

Section Contents

• rpcName• hmiPermissions• parameterPermissions

Overview

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLTriggerSource triggerSource;

SWIFT

var triggerSource: SDLTriggerSource? { get set }

rpcName

Undocumented

hmiPermissions

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSString *rpcName

SWIFT

var rpcName: String { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLHMIPermissions *hmiPermissions

parameterPermissions

Undocumented

SWIFT

var hmiPermissions: SDLHMIPermissions { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLParameterPermissions *parameterPermissions

SWIFT

var parameterPermissions: SDLParameterPermissions { get set }

SDLPermissionManager Class Reference

Section Contents

• -startWithCompletionHandler:• -stop• -isRPCAllowed:• -groupStatusOfRPCs:• -statusOfRPCs:• -addObserverForRPCs:groupType:withHandler:• -removeAllObservers• -removeObserverForIdentifier:

Overview

Undocumented

-startWithCompletionHandler:

Start the manager with a completion block that will be called when startup

completes. This is used internally. To use an SDLPermissionManager, you should

use the manager found on SDLManager .

OBJECTIVE-C

- (void)startWithCompletionHandler: (nonnull void (^)(BOOL, NSError *_Nullable))completionHandler;

completionHandler

The block to be called when the manager’s setup is complete.

-stop

Stop the manager. This method is used internally.

SWIFT

func start(completionHandler: @escaping (Bool, Error?) -> Void)

PARAMETERS

OBJECTIVE-C

- (void)stop;

SWIFT

func stop()

-isRPCAllowed:

Determine if an individual RPC is allowed for the current HMI level

rpcName

The name of the RPC to be tested, for example, SDLShow

YES if the RPC is allowed at the current HMI level, NO if not

OBJECTIVE-C

- (BOOL)isRPCAllowed:(nonnull SDLPermissionRPCName)rpcName;

SWIFT

func isRPCAllowed(_ rpcName: String) -> Bool

PARAMETERS

RETURN VALUE

-groupStatusOfRPCs:

Determine if all RPCs are allowed for the current HMI level

rpcNames

The RPCs to check

OBJECTIVE-C

- (SDLPermissionGroupStatus)groupStatusOfRPCs: (nonnull NSArray<SDLPermissionRPCName> *)rpcNames;

SWIFT

func groupStatus(ofRPCs rpcNames: [String]) -> SDLPermissionGroupStatus

PARAMETERS

AllAllowed if all of the permissions are allowed, AllDisallowed if all the

permissions are disallowed, Any if some are allowed, and some are disallowed

-statusOfRPCs:

Retrieve a dictionary with keys that are the passed in RPC names, and objects

of an NSNumber specifying if that RPC is currently allowed

RETURN VALUE

OBJECTIVE-C

- (nonnull NSDictionary<SDLPermissionRPCName, NSNumber<SDLBool> *> *)statusOfRPCs:(nonnull NSArray<SDLPermissionRPCName> *)rpcNames;

SWIFT

func status(ofRPCs rpcNames: [String]) -> [String : NSNumber & SDLBool]

rpcNames

An array of RPC names to check

A dictionary specifying if the passed in RPC names are currently allowed or not

-addObserverForRPCs:groupType:withHandler:

Add an observer for specified RPC names, with a callback that will be called

whenever the value changes, as well as immediately with the current status.

Warning

This block will be captured by the SDLPermissionsManager, be sure to use

weakself/strongself if you are referencing self within your observer block.

Warning

The observer may be called before this method returns, do not attempt to

remove the observer from within the observer. That could send nil to

PARAMETERS

RETURN VALUE

removeObserverForIdentifier:. If you want functionality like that, call

groupStatusOfRPCs: instead.

rpcNames

The RPCs to be observed

groupType

Affects the times that the observer block will be called. If Any, any

change to any RPC in rpcNames will cause the observer block to be

called. If AllAllowed, the block will be called when: 1. Every RPC in

OBJECTIVE-C

- (nonnull SDLPermissionObserverIdentifier)addObserverForRPCs:(nonnull NSArray<SDLPermissionRPCName> *)rpcNames groupType:(SDLPermissionGroupType)groupType withHandler:(nonnull SDLPermissionsChangedHandler)handler;

SWIFT

func addObserver(forRPCs rpcNames: [String], groupType: SDLPermissionGroupType, withHandler handler: @escaping SDLPermissionsChangedHandler) -> UUID

PARAMETERS

rpcNames becomes allowed 2. The group of rpcNames goes from all

being allowed to some or all being disallowed.

handler

The block that will be called whenever permissions change.

An identifier that can be passed to removeObserverForIdentifer: to remove the

observer

-removeAllObservers

Remove every current observer

RETURN VALUE

OBJECTIVE-C

- (void)removeAllObservers;

SWIFT

func removeAllObservers()

-removeObserverForIdentifier:

Remove block observers for the specified RPC

identifier

The identifier specifying which observer to remove

OBJECTIVE-C

- (void)removeObserverForIdentifier: (nonnull SDLPermissionObserverIdentifier)identifier;

SWIFT

func removeObserver(forIdentifier identifier: UUID)

PARAMETERS

SDLPhoneCapability Class Reference

Section Contents

• -initWithDialNumber:• dialNumberEnabled

Overview

Undocumented

-initWithDialNumber:

Undocumented

OBJECTIVE-C

- (instancetype)initWithDialNumber:(BOOL)dialNumberEnabled;

SWIFT

init(dialNumber dialNumberEnabled: Bool)

dialNumberEnabled

Whether or not the DialNumber RPC is enabled. Boolean, optional

SDLPinchGesture Class Reference

Section Contents

• -initWithFirstTouch:secondTouch:• firstTouch• secondTouch• distance• center• isValid

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber *dialNumberEnabled;

SWIFT

var dialNumberEnabled: NSNumber? { get set }

Overview

Undocumented

-initWithFirstTouch:secondTouch:

@abstract Initializes a pinch gesture.

firstTouch

First touch of the gesture

secondTouch

OBJECTIVE-C

- (nonnull instancetype)initWithFirstTouch:(nonnull SDLTouch *)firstTouch secondTouch:(nonnull SDLTouch *)secondTouch;

SWIFT

init(firstTouch: SDLTouch, secondTouch: SDLTouch)

PARAMETERS

Second touch of the gesture

SDLPinchGesture Instance of SDLPinchGesture.

firstTouch

@abstract First touch of a pinch gesture.

secondTouch

@abstract Second touch of a pinch gesture.

RETURN VALUE

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLTouch *_Nonnull firstTouch;

SWIFT

var firstTouch: SDLTouch { get set }

distance

@abstract Distance between first and second touches.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLTouch *_Nonnull secondTouch;

SWIFT

var secondTouch: SDLTouch { get set }

OBJECTIVE-C

@property (readonly, assign, nonatomic) CGFloat distance;

SWIFT

var distance: CGFloat { get }

center

@abstract Center point between first and second touches.

isValid

@abstract Returns whether or not the pinch gesture is valid. This is true if both

touches are non null.

OBJECTIVE-C

@property (readonly, assign, nonatomic) CGPoint center;

SWIFT

var center: CGPoint { get }

OBJECTIVE-C

@property (readonly, assign, nonatomic) BOOL isValid;

SDLPresetBankCapabilities ClassReference

Section Contents

• onScreenPresetsAvailable

Overview

Contains information about on-screen preset capabilities.

@since SDL 2.0

onScreenPresetsAvailable

@abstract If Onscreen custom presets are available.

Required, Boolean

SWIFT

var isValid: Bool { get }

SDLProtocol Class Reference

Section Contents

• -startServiceWithType:payload:• -startSecureServiceWithType:payload:completionHandler:• -endServiceWithType:• -sendRPC:• -sendRPC:encrypted:error:• -sendRawData:withServiceType:• -sendEncryptedRawData:onService:

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull onScreenPresetsAvailable;

SWIFT

var onScreenPresetsAvailable: NSNumber & SDLBool { get set }

• -handleBytesFromTransport:

Overview

Undocumented

-startServiceWithType:payload:

Undocumented

-

startSecureServiceWithType:payload:completionHandler:

Undocumented

OBJECTIVE-C

- (void)startServiceWithType:(SDLServiceType)serviceType payload:(nullable NSData *)payload;

SWIFT

func startService(with serviceType: SDLServiceType, payload: Data?)

-endServiceWithType:

Undocumented

OBJECTIVE-C

- (void)startSecureServiceWithType:(SDLServiceType)serviceType payload:(nullable NSData *)payload completionHandler:(void (^)(BOOL success, NSError *error))completionHandler;

SWIFT

func startSecureService(with serviceType: SDLServiceType, payload: Data?, completionHandler: @escaping (Bool, Error) -> Void)

OBJECTIVE-C

- (void)endServiceWithType:(SDLServiceType)serviceType;

-sendRPC:

Undocumented

-sendRPC:encrypted:error:

Undocumented

SWIFT

func endService(with serviceType: SDLServiceType)

OBJECTIVE-C

- (void)sendRPC:(SDLRPCMessage *)message;

SWIFT

func sendRPC(_ message: SDLRPCMessage)

-sendRawData:withServiceType:

Undocumented

OBJECTIVE-C

- (BOOL)sendRPC:(SDLRPCMessage *)message encrypted:(BOOL)encryption error:(NSError **)error;

SWIFT

func sendRPC(_ message: SDLRPCMessage, encrypted encryption: Bool) throws

OBJECTIVE-C

- (void)sendRawData:(NSData *)data withServiceType:(SDLServiceType)serviceType;

-sendEncryptedRawData:onService:

Undocumented

-handleBytesFromTransport:

Undocumented

SWIFT

func sendRawData(_ data: Data, with serviceType: SDLServiceType)

OBJECTIVE-C

- (void)sendEncryptedRawData:(NSData *)data onService:(SDLServiceType)serviceType;

SWIFT

func sendEncryptedRawData(_ data: Data, on serviceType: SDLServiceType)

SDLProtocolHeader Class Reference

Section Contents

• _version• _size• version• size• encrypted• frameType• serviceType• frameData• sessionID• bytesInPayload• -init• -data

OBJECTIVE-C

- (void)handleBytesFromTransport:(NSData *)receivedData;

SWIFT

func handleBytes(fromTransport receivedData: Data)

• -parse:• -description• +headerForVersion:• +determineVersion:

Overview

Undocumented

_version

Undocumented

_size

Undocumented

OBJECTIVE-C

UInt8 _version

OBJECTIVE-C

NSUInteger _size

version

Undocumented

size

Undocumented

OBJECTIVE-C

@property (assign, nonatomic, readonly) UInt8 version

SWIFT

var version: UInt8 { get }

OBJECTIVE-C

@property (assign, nonatomic, readonly) NSUInteger size

encrypted

Undocumented

frameType

Undocumented

SWIFT

var size: UInt { get }

OBJECTIVE-C

@property (assign, nonatomic) BOOL encrypted

SWIFT

var encrypted: Bool { get set }

serviceType

Undocumented

OBJECTIVE-C

@property (assign, nonatomic) SDLFrameType frameType

SWIFT

var frameType: SDLFrameType { get set }

OBJECTIVE-C

@property (assign, nonatomic) SDLServiceType serviceType

SWIFT

var serviceType: SDLServiceType { get set }

frameData

Undocumented

sessionID

Undocumented

OBJECTIVE-C

@property (assign, nonatomic) SDLFrameInfo frameData

SWIFT

var frameData: SDLFrameInfo { get set }

OBJECTIVE-C

@property (assign, nonatomic) UInt8 sessionID

bytesInPayload

Undocumented

-init

Undocumented

SWIFT

var sessionID: UInt8 { get set }

OBJECTIVE-C

@property (assign, nonatomic) UInt32 bytesInPayload

SWIFT

var bytesInPayload: UInt32 { get set }

-data

Undocumented

OBJECTIVE-C

- (instancetype)init;

SWIFT

init()

OBJECTIVE-C

- (nullable NSData *)data;

SWIFT

func data() -> Data?

-parse:

Undocumented

-description

Undocumented

OBJECTIVE-C

- (void)parse:(NSData *)data;

SWIFT

func parse(_ data: Data)

OBJECTIVE-C

- (NSString *)description;

+headerForVersion:

Undocumented

+determineVersion:

Undocumented

SWIFT

func description() -> String

OBJECTIVE-C

+ (__kindof SDLProtocolHeader *)headerForVersion:(UInt8)version;

SWIFT

/*not inherited*/ init(forVersion version: UInt8)

SDLProtocolMessage Class Reference

Section Contents

• header• payload• data• +messageWithHeader:andPayload:• -size• -description• -rpcDictionary

Overview

Undocumented

OBJECTIVE-C

+ (UInt8)determineVersion:(NSData *)data;

SWIFT

class func determineVersion(_ data: Data) -> UInt8

header

Undocumented

payload

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLProtocolHeader *header

SWIFT

var header: SDLProtocolHeader { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSData *payload

data

Undocumented

+messageWithHeader:andPayload:

Undocumented

SWIFT

var payload: Data? { get set }

OBJECTIVE-C

@property (strong, nonatomic, readonly) NSData *data

SWIFT

var data: Data { get }

-size

Undocumented

OBJECTIVE-C

+ (instancetype)messageWithHeader:(SDLProtocolHeader *)header andPayload:(nullable NSData *)payload;

SWIFT

convenience init(header: SDLProtocolHeader, andPayload payload: Data?)

OBJECTIVE-C

- (NSUInteger)size;

SWIFT

func size() -> UInt

-description

Undocumented

-rpcDictionary

Undocumented

OBJECTIVE-C

- (NSString *)description;

SWIFT

func description() -> String

OBJECTIVE-C

- (nullable NSDictionary<NSString *, id> *)rpcDictionary;

SDLProxy Class Reference

Section Contents

• _version• _bulkSessionID• _isConnected• protocol• transport• proxyListeners• startSessionTimer• debugConsoleGroupName• proxyVersion• -initWithTransport:protocol:delegate:• -addDelegate:• -removeDelegate:• -sendRPC:• -handleRPCDictionary:• -handleProtocolMessage:• -addSecurityManagers:forAppId:

SWIFT

func rpcDictionary() -> [String : Any]?

• -putFileStream:withRequest:

Overview

Undocumented

_version

Undocumented

_bulkSessionID

Undocumented

_isConnected

Undocumented

OBJECTIVE-C

Byte _version

OBJECTIVE-C

Byte _bulkSessionID

protocol

Undocumented

transport

Undocumented

OBJECTIVE-C

BOOL _isConnected

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLAbstractProtocol *protocol

SWIFT

var `protocol`: SDLAbstractProtocol? { get set }

proxyListeners

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLAbstractTransport *transport

SWIFT

var transport: SDLAbstractTransport? { get set }

OBJECTIVE-C

@property (readonly, copy, nonatomic) NSSet<NSObject<SDLProxyListener> *> *proxyListeners

SWIFT

var proxyListeners: Set<AnyHashable> { get }

startSessionTimer

Undocumented

debugConsoleGroupName

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLTimer *startSessionTimer

SWIFT

var startSessionTimer: SDLTimer { get set }

OBJECTIVE-C

@property (copy, nonatomic) NSString *debugConsoleGroupName

proxyVersion

Undocumented

-initWithTransport:protocol:delegate:

Undocumented

SWIFT

var debugConsoleGroupName: String { get set }

OBJECTIVE-C

@property (readonly, copy, nonatomic) NSString *proxyVersion

SWIFT

var proxyVersion: String { get }

-addDelegate:

Undocumented

OBJECTIVE-C

- (id)initWithTransport:(SDLAbstractTransport *)transport protocol:(SDLAbstractProtocol *)protocol delegate:(NSObject<SDLProxyListener> *)delegate;

SWIFT

init(transport: SDLAbstractTransport, protocol: SDLAbstractProtocol, delegate: SDLProxyListener)

OBJECTIVE-C

- (void)addDelegate:(NSObject<SDLProxyListener> *)delegate;

-removeDelegate:

Undocumented

-sendRPC:

Undocumented

SWIFT

func addDelegate(_ delegate: SDLProxyListener)

OBJECTIVE-C

- (void)removeDelegate:(NSObject<SDLProxyListener> *)delegate;

SWIFT

func removeDelegate(_ delegate: SDLProxyListener)

-handleRPCDictionary:

Undocumented

OBJECTIVE-C

- (void)sendRPC:(SDLRPCMessage *)message;

SWIFT

func sendRPC(_ message: SDLRPCMessage)

OBJECTIVE-C

- (void)handleRPCDictionary:(NSDictionary<NSString *, id> *)dictionary;

SWIFT

func handleRPCDictionary(_ dictionary: [String : Any])

-handleProtocolMessage:

Undocumented

-addSecurityManagers:forAppId:

Undocumented

OBJECTIVE-C

- (void)handleProtocolMessage:(SDLProtocolMessage *)msgData;

SWIFT

func handle(_ msgData: SDLProtocolMessage)

OBJECTIVE-C

- (void)addSecurityManagers:(NSArray<Class> *)securityManagerClasses forAppId:(NSString *)appId;

-putFileStream:withRequest:

Puts data into a file on the module @abstract Performs a putFile for a given

input stream, performed in chunks, for handling very large files.

SWIFT

func addSecurityManagers(_ securityManagerClasses: [AnyClass], forAppId appId: String)

OBJECTIVE-C

- (void)putFileStream:(nonnull NSInputStream *)inputStream withRequest:(nonnull SDLPutFile *)putFileRPCRequest;

SWIFT

func putFileStream(_ inputStream: InputStream, withRequest putFileRPCRequest: SDLPutFile)

inputStream

A stream containing the data to put to the module.

putFileRPCRequest

A SDLPutFile object containing the parameters for the put(s)

@discussion The proxy will read from the stream based on the max

MTU size and send them in individual putFile requests. This may result

in multiple responses being received, one for each request. Note: the

length parameter of the putFileRPCRequest will be ignored. The proxy

will substitute the number of bytes read from the stream.

SDLProxyFactory Class Reference

Section Contents

• +buildSDLProxyWithListener:• +buildSDLProxyWithListener:tcpIPAddress:tcpPort:

Overview

Undocumented

PARAMETERS

+buildSDLProxyWithListener:

Undocumented

+buildSDLProxyWithListener:tcpIPAddress:tcpPort:

Undocumented

OBJECTIVE-C

+ (SDLProxy *)buildSDLProxyWithListener:(NSObject<SDLProxyListener> *)listener;

SWIFT

class func buildSDLProxy(with listener: SDLProxyListener) -> SDLProxy

OBJECTIVE-C

+ (SDLProxy *)buildSDLProxyWithListener:(NSObject<SDLProxyListener> *)listener tcpIPAddress:(NSString *)ipaddress tcpPort:(NSString *)port;

SDLPutFile Class Reference

Section Contents

• -initWithFileName:fileType:• -initWithFileName:fileType:persistentFile:• -initWithFileName:fileType:persistentFile:systemFile:offset:length:• syncFileName• fileType• persistentFile• systemFile• offset• length

Overview

Used to push a binary data onto the SDL module from a mobile device, such as

icons and album art

Since SmartDeviceLink 2.0

SeeSDLDeleteFile SeeSDLListFiles

SWIFT

class func buildSDLProxy(with listener: SDLProxyListener, tcpIPAddress ipaddress: String, tcpPort port: String) -> SDLProxy

-initWithFileName:fileType:

Undocumented

-initWithFileName:fileType:persistentFile:

Undocumented

OBJECTIVE-C

- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType;

SWIFT

init(fileName: String, fileType: SDLFileType)

OBJECTIVE-C

- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile;

-

initWithFileName:fileType:persistentFile:systemFile:offset:length:

Undocumented

syncFileName

A file reference name

SWIFT

init(fileName: String, fileType: SDLFileType, persistentFile: Bool)

OBJECTIVE-C

- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile systemFile:(BOOL)systemFile offset:(UInt32)offset length:(UInt32)length;

SWIFT

init(fileName: String, fileType: SDLFileType, persistentFile: Bool, systemFile: Bool, offset: UInt32, length: UInt32)

Required, maxlength 255 characters

fileType

A FileType value representing a selected file type

Required

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull syncFileName;

SWIFT

var syncFileName: String { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLFileType _Nonnull fileType;

persistentFile

A value to indicates if the file is meant to persist between sessions / ignition

cycles. If set to TRUE, then the system will aim to persist this file through

session / cycles. While files with this designation will have priority over others,

they are subject to deletion by the system at any time. In the event of

automatic deletion by the system, the app will receive a rejection and have to

resend the file. If omitted, the value will be set to false

Boolean, Optional, default = NO

SWIFT

var fileType: SDLFileType { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *persistentFile;

SWIFT

var persistentFile: (NSNumber & SDLBool)? { get set }

systemFile

Indicates if the file is meant to be passed through core to elsewhere on the

system. If set to TRUE, then the system will instead pass the data thru as it

arrives to a predetermined area outside of core.

Boolean, Optional, default = NO

offset

Offset in bytes for resuming partial data chunks.

Integer, Optional, 0 - 100,000,000,000

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *systemFile;

SWIFT

var systemFile: (NSNumber & SDLBool)? { get set }

length

Length in bytes for resuming partial data chunks. If offset is set to 0, then

length is the total length of the file to be downloaded

Integer, Optional, 0 - 100,000,000,000

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLUInt> *offset;

SWIFT

var offset: (NSNumber & SDLUInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLUInt> *length;

SDLPutFileResponse Class Reference

Section Contents

• spaceAvailable

Overview

Put File Response is sent, when SDLPutFile has been called

Since SmartDeviceLink 2.0

spaceAvailable

Undocumented

SWIFT

var length: (NSNumber & SDLUInt)? { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *spaceAvailable

SDLRDSData Class Reference

Section Contents

• -

initWithProgramService:radioText:clockText:programIdentification:programType:trafficProgramIdentification:• programService• radioText• clockText• programIdentification• programType• trafficProgramIdentification• trafficAnnouncementIdentification• region

Overview

Include the data defined in Radio Data System, which is a communications

protocol standard for embedding small amounts of digital information in

conventional FM radio broadcasts.

SWIFT

var spaceAvailable: NSNumber & SDLInt { get set }

-

initWithProgramService:radioText:clockText:programIdentification:programType

Undocumented

programService

@abstract Program Service Name

optional, 0-8

OBJECTIVE-C

- (instancetype)initWithProgramService:(nullable NSString *)programService radioText:(nullable NSString *)radioText clockText:(nullable NSString *)clockText programIdentification:(nullable NSString *)programIdentification programType:(nullable NSNumber<SDLInt> *)programType trafficProgramIdentification:(nullable NSNumber<SDLBool> *)trafficProgramIdentification trafficAnnouncementIdentification:(nullable NSNumber<SDLBool> *)trafficAnnouncementIdentification region:(nullable NSString *)region;

SWIFT

init(programService: String?, radioText: String?, clockText: String?, programIdentification: String?, programType: (NSNumber & SDLInt)?, trafficProgramIdentification: (NSNumber & SDLBool)?, trafficAnnouncementIdentification: (NSNumber & SDLBool)?, region: String?)

radioText

@abstract Radio Text

optional, 0-64

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *programService;

SWIFT

var programService: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *radioText;

clockText

@abstract The clock text in UTC format as YYYY-MM-DDThh:mm:ss.sTZD

optional, 0-24

programIdentification

@abstract Program Identification - the call sign for the radio station

optional, 0-6

SWIFT

var radioText: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *clockText;

SWIFT

var clockText: String? { get set }

programType

@abstract The program type - The region should be used to differentiate

between EU and North America program types

optional, 0-31

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *programIdentification;

SWIFT

var programIdentification: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *programType;

trafficProgramIdentification

@abstract Traffic Program Identification - Identifies a station that offers traffic

optional, Boolean

trafficAnnouncementIdentification

@abstract Traffic Announcement Identification - Indicates an ongoing traffic

announcement

SWIFT

var programType: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *trafficProgramIdentification;

SWIFT

var trafficProgramIdentification: (NSNumber & SDLBool)? { get set }

optional, Boolean

region

@abstract Region

optional, 0-8

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *trafficAnnouncementIdentification;

SWIFT

var trafficAnnouncementIdentification: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *region;

SDLRPCMessage Class Reference

Section Contents

• function• parameters• messageType• -initWithName:• -initWithDictionary:• -getFunctionName• -setFunctionName:• -getParameters:• -setParameters:value:• bulkData• name• messageType

Overview

Undocumented

SWIFT

var region: String? { get set }

function

Undocumented

parameters

Undocumented

messageType

Undocumented

OBJECTIVE-C

NSMutableDictionary<NSString *, id> *function

OBJECTIVE-C

NSMutableDictionary<NSString *, id> *parameters

OBJECTIVE-C

NSString *messageType

-initWithName:

Undocumented

-initWithDictionary:

Undocumented

OBJECTIVE-C

- (instancetype)initWithName:(NSString *)name;

SWIFT

init(name: String)

OBJECTIVE-C

- (instancetype)initWithDictionary:(NSDictionary<NSString *, id> *)dict;

-getFunctionName

Undocumented

-setFunctionName:

Undocumented

SWIFT

init(dictionary dict: [String : Any])

OBJECTIVE-C

- (nullable NSString *)getFunctionName;

SWIFT

func getFunctionName() -> String?

-getParameters:

Undocumented

OBJECTIVE-C

- (void)setFunctionName:(nullable NSString *)functionName;

SWIFT

func setFunctionName(_ functionName: String?)

OBJECTIVE-C

- (nullable NSObject *)getParameters:(NSString *)functionName;

SWIFT

func getParameters(_ functionName: String) -> NSObject?

-setParameters:value:

Undocumented

bulkData

Undocumented

OBJECTIVE-C

- (void)setParameters:(NSString *)functionName value:(nullable NSObject *)value;

SWIFT

func setParameters(_ functionName: String, value: NSObject?)

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSData *bulkData

name

Undocumented

messageType

Undocumented

SWIFT

var bulkData: Data? { get set }

OBJECTIVE-C

@property (strong, nonatomic, readonly) NSString *name

SWIFT

var name: String { get }

SDLRPCNotificationNotification ClassReference

Section Contents

• notification• -initWithName:object:rpcNotification:• -isNotificationMemberOfClass:• -isNotificationKindOfClass:

Overview

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, readonly) NSString *messageType

SWIFT

var messageType: String { get }

notification

Undocumented

-initWithName:object:rpcNotification:

Undocumented

OBJECTIVE-C

@property (copy, nonatomic, readonly) __kindof SDLRPCNotification *notification

SWIFT

@NSCopying var notification: SDLRPCNotification { get }

OBJECTIVE-C

- (instancetype)initWithName:(NSString *)name object:(nullable id)object rpcNotification:(__kindof SDLRPCNotification *)notification;

-isNotificationMemberOfClass:

Returns whether or not the containing notification is equal to a class, not

including subclasses.

aClass

SWIFT

init(name: String, object: Any?, rpcNotification notification: SDLRPCNotification)

OBJECTIVE-C

- (BOOL)isNotificationMemberOfClass:(nonnull Class)aClass;

SWIFT

func isNotificationMember(of aClass: AnyClass) -> Bool

PARAMETERS

the class you are questioning

-isNotificationKindOfClass:

Returns whether or not the containing notification is a kind of class, including

subclasses.

aClass

the class you are questioning

OBJECTIVE-C

- (BOOL)isNotificationKindOfClass:(nonnull Class)aClass;

SWIFT

func isNotificationKind(of aClass: AnyClass) -> Bool

PARAMETERS

SDLRPCRequest Class Reference

Section Contents

• correlationID

Overview

Undocumented

correlationID

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *correlationID

SWIFT

var correlationID: NSNumber & SDLInt { get set }

SDLRPCResponse Class Reference

Section Contents

• correlationID• success• resultCode• info

Overview

Undocumented

correlationID

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *correlationID

SWIFT

var correlationID: NSNumber & SDLInt { get set }

success

Undocumented

resultCode

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLBool> *success

SWIFT

var success: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLResult resultCode

info

Undocumented

SWIFT

var resultCode: SDLResult { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSString *info

SWIFT

var info: String? { get set }

SDLRPCResponseNotification ClassReference

Section Contents

• response• -initWithName:object:rpcResponse:• -isResponseMemberOfClass:• -isResponseKindOfClass:

Overview

Undocumented

response

Undocumented

OBJECTIVE-C

@property (copy, nonatomic, readonly) __kindof SDLRPCResponse *response

SWIFT

@NSCopying var response: SDLRPCResponse { get }

-initWithName:object:rpcResponse:

Undocumented

-isResponseMemberOfClass:

Returns whether or not the containing response is equal to a class, not

including subclasses.

OBJECTIVE-C

- (instancetype)initWithName:(NSString *)name object:(nullable id)object rpcResponse:(__kindof SDLRPCResponse *)response;

SWIFT

init(name: String, object: Any?, rpcResponse response: SDLRPCResponse)

OBJECTIVE-C

- (BOOL)isResponseMemberOfClass:(nonnull Class)aClass;

aClass

the class you are questioning

-isResponseKindOfClass:

Returns whether or not the containing response is a kind of class, including

subclasses.

SWIFT

func isResponseMember(of aClass: AnyClass) -> Bool

PARAMETERS

OBJECTIVE-C

- (BOOL)isResponseKindOfClass:(nonnull Class)aClass;

SWIFT

func isResponseKind(of aClass: AnyClass) -> Bool

aClass

the class you are questioning

SDLRPCStruct Class Reference

Section Contents

• store• -initWithDictionary:• -init• -serializeAsDictionary:

Overview

Undocumented

store

Undocumented

PARAMETERS

OBJECTIVE-C

NSMutableDictionary<NSString *, id> *store

-initWithDictionary:

Undocumented

-init

Undocumented

OBJECTIVE-C

- (instancetype)initWithDictionary:(NSDictionary<NSString *, id> *)dict;

SWIFT

init(dictionary dict: [String : Any])

OBJECTIVE-C

- (instancetype)init;

-serializeAsDictionary:

Undocumented

SWIFT

init()

OBJECTIVE-C

- (NSDictionary<NSString *, id> *)serializeAsDictionary:(Byte)version;

SWIFT

func serialize(asDictionary version: UInt8) -> [String : Any]

SDLRadioControlCapabilities ClassReference

Section Contents

• -

initWithModuleName:radioEnableAvailable:radioBandAvailable:radioFrequencyAvailable:hdChannelAvailable• moduleName• radioEnableAvailable• radioBandAvailable• radioFrequencyAvailable• hdChannelAvailable• rdsDataAvailable• availableHDsAvailable• stateAvailable• signalStrengthAvailable• signalChangeThresholdAvailable

Overview

Contains information about a radio control module’s capabilities.

-

initWithModuleName:radioEnableAvailable:radioBandAvailable:radioFrequencyA

Undocumented

moduleName

@abstract The short friendly name of the climate control module. It should not

be used to identify a module by mobile application.

Max string length 100 chars

OBJECTIVE-C

- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable;

SWIFT

init(moduleName: String, radioEnableAvailable: Bool, radioBandAvailable: Bool, radioFrequencyAvailable: Bool, hdChannelAvailable: Bool, rdsDataAvailable: Bool, availableHDsAvailable: Bool, stateAvailable: Bool, signalStrengthAvailable: Bool, signalChangeThresholdAvailable: Bool)

radioEnableAvailable

@abstract Availability of the control of enable/disable radio. True: Available,

False: Not Available, Not present: Not Available.

Optional, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull moduleName;

SWIFT

var moduleName: String { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *radioEnableAvailable;

radioBandAvailable

@abstract Availability of the control of radio band. True: Available, False: Not

Available, Not present: Not Available.

Optional, Boolean

radioFrequencyAvailable

@abstract Availability of the control of radio frequency. True: Available, False:

Not Available, Not present: Not Available.

SWIFT

var radioEnableAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *radioBandAvailable;

SWIFT

var radioBandAvailable: (NSNumber & SDLBool)? { get set }

Optional, Boolean

hdChannelAvailable

@abstract Availability of the control of HD radio channel. True: Available, False:

Not Available, Not present: Not Available.

Optional, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *radioFrequencyAvailable;

SWIFT

var radioFrequencyAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *hdChannelAvailable;

rdsDataAvailable

@abstract Availability of the getting Radio Data System (RDS) data. True:

Available, False: Not Available, Not present: Not Available.

Optional, Boolean

availableHDsAvailable

@abstract Availability of the getting the number of available HD channels. True:

Available, False: Not Available, Not present: Not Available.

SWIFT

var hdChannelAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *rdsDataAvailable;

SWIFT

var rdsDataAvailable: (NSNumber & SDLBool)? { get set }

Optional, Boolean

stateAvailable

@abstract Availability of the getting the Radio state. True: Available, False: Not

Available, Not present: Not Available.

Optional, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *availableHDsAvailable;

SWIFT

var availableHDsAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *stateAvailable;

signalStrengthAvailable

@abstract Availability of the getting the signal strength. True: Available, False:

Not Available, Not present: Not Available.

Optional, Boolean

signalChangeThresholdAvailable

@abstract Availability of the getting the signal Change Threshold True:

Available, False: Not Available, Not present: Not Available.

SWIFT

var stateAvailable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *signalStrengthAvailable;

SWIFT

var signalStrengthAvailable: (NSNumber & SDLBool)? { get set }

Optional, Boolean

SDLRadioControlData Class Reference

Section Contents

• -initWithFrequencyInteger:frequencyFraction:band:hdChannel:radioEnable:• frequencyInteger• frequencyFraction• band• rdsData• availableHDs• hdChannel• signalStrength• signalChangeThreshold

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *signalChangeThresholdAvailable;

SWIFT

var signalChangeThresholdAvailable: (NSNumber & SDLBool)? { get set }

• radioEnable• state

Overview

Include information (both read-only and changeable data) about a remote

control radio module.

-

initWithFrequencyInteger:frequencyFraction:band:hdChannel:radioEnable:

Undocumented

OBJECTIVE-C

- (instancetype)initWithFrequencyInteger:(nullable NSNumber<SDLInt> *)frequencyInteger frequencyFraction:(nullable NSNumber<SDLInt> *)frequencyFraction band:(nullable SDLRadioBand)band hdChannel:(nullable NSNumber<SDLInt> *)hdChannel radioEnable:(nullable NSNumber<SDLBool> *)radioEnable;

SWIFT

init(frequencyInteger: (NSNumber & SDLInt)?, frequencyFraction: (NSNumber & SDLInt)?, band: SDLRadioBand?, hdChannel: (NSNumber & SDLInt)?, radioEnable: (NSNumber & SDLBool)?)

frequencyInteger

@abstract The integer part of the frequency ie for 101.7 this value should be

101

Integer

frequencyFraction

@abstract The fractional part of the frequency for 101.7 is 7

Integer

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *frequencyInteger;

SWIFT

var frequencyInteger: (NSNumber & SDLInt)? { get set }

band

@abstract Radio band value

SDLRadioBand

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *frequencyFraction;

SWIFT

var frequencyFraction: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLRadioBand band;

rdsData

@abstract Read only parameter. See RDSData data type for details.

WarningThis property is readonly and cannot be set on the module. SDLRDSData

availableHDs

@abstract number of HD sub-channels if available

Warning

SWIFT

var band: SDLRadioBand? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLRDSData *rdsData;

SWIFT

var rdsData: SDLRDSData? { get set }

This property is readonly and cannot be set on the module. Integer value Min Value - 1 Max Value -3

hdChannel

@abstract Current HD sub-channel if available

Integer value Min Value - 1 Max Value -3

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *availableHDs;

SWIFT

var availableHDs: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *hdChannel;

signalStrength

@abstract Signal Strength Value

WarningThis property is readonly and cannot be set on the module. Integer value Min Value - 0 Max Value - 100

signalChangeThreshold

@abstract If the signal strength falls below the set value for this parameter, the

radio will tune to an alternative frequency

SWIFT

var hdChannel: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *signalStrength;

SWIFT

var signalStrength: (NSNumber & SDLInt)? { get set }

WarningThis property is readonly and cannot be set on the module. Integer value Min Value - 0 Max Value - 100

radioEnable

@abstract True if the radio is on, false is the radio is off. When the radio is

disabled, no data other than radioEnable is included in a GetInteriorVehicleData

response

Boolean value

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *signalChangeThreshold;

SWIFT

var signalChangeThreshold: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *radioEnable;

state

Read only parameter. See RadioState data type for details.

WarningThis property is readonly and cannot be set on the module. SDLRadioState

SWIFT

var radioEnable: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLRadioState state;

SWIFT

var state: SDLRadioState? { get set }

SDLReadDID Class Reference

Section Contents

• -initWithECUName:didLocation:• ecuName• didLocation

Overview

Non periodic vehicle data read request. This is an RPC to get diagnostics data

from certain vehicle modules. DIDs of a certain module might differ from

vehicle type to vehicle type

Function Group: ProprietaryData

HMILevel needs to be FULL, LIMITED or BACKGROUND

Since SmartDeviceLink 2.0

-initWithECUName:didLocation:

Undocumented

OBJECTIVE-C

- (instancetype)initWithECUName:(UInt16)ecuNumber didLocation:(NSArray<NSNumber<SDLUInt> *> *)didLocation;

ecuName

@abstract An ID of the vehicle module

Notes: Minvalue:0; Maxvalue:65535

didLocation

@abstract Raw data from vehicle data DID location(s)

a Vector value representing raw data from vehicle data DID location(s)

SWIFT

init(ecuName ecuNumber: UInt16, didLocation: [NSNumber & SDLUInt])

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull ecuName;

SWIFT

var ecuName: NSNumber & SDLInt { get set }

Notes:

• Minvalue:0; Maxvalue:65535• ArrayMin:0; ArrayMax:1000

SDLReadDIDResponse Class Reference

Section Contents

• didResult

Overview

Read DID Response is sent, when ReadDID has been called

Since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<NSNumber<SDLInt> *> *_Nonnull didLocation;

SWIFT

var didLocation: [NSNumber & SDLInt] { get set }

didResult

Undocumented

SDLRectangle Class Reference

Section Contents

• -initWithX:y:width:height:• -initWithCGRect:• x• y• width• height

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSArray<SDLDIDResult *> *didResult

SWIFT

var didResult: [SDLDIDResult]? { get set }

Overview

Undocumented

-initWithX:y:width:height:

Create a Rectangle

x

The top-left x value

OBJECTIVE-C

- (instancetype)initWithX:(float)x y:(float)y width:(float)width height:(float)height;

SWIFT

init!(x: Float, y: Float, width: Float, height: Float)

PARAMETERS

y

The top-left y value

width

The width

height

The height

An new SDLRectangle object

-initWithCGRect:

Create a Rectangle from a CGRect

RETURN VALUE

OBJECTIVE-C

- (instancetype)initWithCGRect:(CGRect)rect;

rect

The rectangle to use

An new SDLRectangle object

x

The X-coordinate of the user control Required, Float

SWIFT

init!(cgRect rect: CGRect)

PARAMETERS

RETURN VALUE

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *x;

y

The Y-coordinate of the user control Required, Float

width

The width of the user control’s bounding rectangle Required, Float

SWIFT

var x: (NSNumber & SDLFloat)! { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *y;

SWIFT

var y: (NSNumber & SDLFloat)! { get set }

height

The height of the user control’s bounding rectangle Required, Float

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *width;

SWIFT

var width: (NSNumber & SDLFloat)! { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *height;

SWIFT

var height: (NSNumber & SDLFloat)! { get set }

SDLRegisterAppInterface ClassReference

Section Contents

• -initWithLifecycleConfiguration:• -initWithAppName:appId:languageDesired:• -

initWithAppName:appId:languageDesired:isMediaApp:appType:shortAppName:• -

initWithAppName:appId:languageDesired:isMediaApp:appType:shortAppName:ttsName:vrSynonyms:hmiDis• syncMsgVersion• appName• ttsName• ngnMediaScreenAppName• vrSynonyms• isMediaApplication• languageDesired• hmiDisplayLanguageDesired• appHMIType• hashID• deviceInfo• appID• appInfo

Overview

Registers the application’s interface with SDL®, declaring properties of the

registration, including the messaging interface version, the app name, etc. The

mobile application must establish its interface registration with SDL before any

other interaction with SDL® can take place. The registration lasts until it is

terminated either by the application calling the SDLUnregisterAppInterface

method, or by SDL® sending an SDLOnAppInterfaceUnregistered notification,

or by loss of the underlying transport connection, or closing of the underlying

message transmission protocol RPC session

Until the application receives its first SDLOnHMIStatus Notification, its HMI

Status is assumed to be: SDLHMILevel=NONE, SDLAudioStreamingState

=NOT_AUDIBLE, SDLSystemContext=MAIN

All SDL® resources which the application creates or uses (e.g. Choice Sets,

Command Menu, etc.) are associated with the application’s interface

registration. Therefore, when the interface registration ends, the SDL®

resources associated with the application are disposed of. As a result, even

though the application itself may continue to run on its host platform (e.g.

mobile device) after the interface registration terminates, the application will

not be able to use the SDL® HMI without first establishing a new interface

registration and re-creating its required SDL® resources. That is, SDL®

resources created by (or on behalf of) an application do not persist beyond the

life-span of the interface registration

Resources and settings whose lifespan is tied to the duration of an application’s

interface registration:

• Choice Sets• Command Menus (built by successive calls to SDLAddCommand )• Media clock timer display value• Media clock timer display value• Media clock timer display value

The autoActivateID is used to grant an application the HMILevel and

AudioStreamingState it had when it last disconnected

Notes: The autoActivateID parameter, and associated behavior, is currently

ignored by SDL®

When first calling this method (i.e. first time within life cycle of mobile app), an

autoActivateID should not be included. After successfully registering an

interface, an autoActivateID is returned to the mobile application for it to use in

subsequent connections. If the connection between SDL® and the mobile

application is lost, such as the vehicle is turned off while the application is

running, the autoActivateID can then be passed in another call to

RegisterAppInterface to re-acquire SDLHMILevel=FULL

If the application intends to stream audio it is important to indicate so via the

isMediaApp parameter. When set to true, audio will reliably stream without any

configuration required by the user. When not set, audio may stream, depending

on what the user might have manually configured as a media source on SDL®

There is no time limit for how long the autoActivateID is “valid” (i.e. would

confer focus and opt-in)

HMILevel is not defined before registering

@since SDL 1.0

SeeSDLUnregisterAppInterface SDLOnAppInterfaceUnregistered

-initWithLifecycleConfiguration:

Undocumented

OBJECTIVE-C

- (instancetype)initWithLifecycleConfiguration:(SDLLifecycleConfiguration *)lifecycleConfiguration;

SWIFT

init(lifecycleConfiguration: SDLLifecycleConfiguration)

-initWithAppName:appId:languageDesired:

Undocumented

-

initWithAppName:appId:languageDesired:isMediaApp:appType:shortAppName:

Undocumented

OBJECTIVE-C

- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired;

SWIFT

init(appName: String, appId: String, languageDesired: SDLLanguage)

OBJECTIVE-C

- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appType:(SDLAppHMIType)appType shortAppName:(nullable NSString *)shortAppName;

-

initWithAppName:appId:languageDesired:isMediaApp:appType:shortAppName:t

Undocumented

SWIFT

init(appName: String, appId: String, languageDesired: SDLLanguage, isMediaApp: Bool, appType: SDLAppHMIType, shortAppName: String?)

OBJECTIVE-C

- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appType:(SDLAppHMIType)appType shortAppName:(nullable NSString *)shortAppName ttsName:(nullable NSArray<SDLTTSChunk *> *)ttsName vrSynonyms:(nullable NSArray<NSString *> *)vrSynonyms hmiDisplayLanguageDesired:(SDLLanguage)hmiDisplayLanguageDesired resumeHash:(nullable NSString *)resumeHash;

syncMsgVersion

@abstract The version of the SDL interface

Required

SWIFT

init(appName: String, appId: String, languageDesired: SDLLanguage, isMediaApp: Bool, appType: SDLAppHMIType, shortAppName: String?, ttsName: [SDLTTSChunk]?, vrSynonyms: [String]?, hmiDisplayLanguageDesired: SDLLanguage, resumeHash: String?)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLSyncMsgVersion *_Nonnull syncMsgVersion;

SWIFT

var syncMsgVersion: SDLSyncMsgVersion { get set }

appName

@abstract The Mobile Application’s Name, This name is displayed in the SDL

Mobile Applications menu. It also serves as the unique identifier of the

application for SmartDeviceLink

@discussion • Needs to be unique over all applications.• May not be empty.• May not start with a new line character.• May not interfere with any name or synonym of previously registered

applications and any predefined blacklist of words (global commands).• Needs to be unique over all applications. Applications with the same name will

be rejected.

Required, Max length 100 chars

ttsName

@abstract TTS string for VR recognition of the mobile application name.

@discussion Meant to overcome any failing on speech engine in properly

pronouncing / understanding app name.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull appName;

SWIFT

var appName: String { get set }

• Needs to be unique over all applications.• May not be empty.• May not start with a new line character.

Optional, Array of SDLTTSChunk, Array size 1 - 100

@since SDL 2.0

SeeSDLTTSChunk

ngnMediaScreenAppName

@abstract A String representing an abbreviated version of the mobile

application’s name (if necessary) that will be displayed on the media screen

@discussion If not provided, the appName is used instead (and will be

truncated if too long)

Optional, Max length 100 chars

OBJECTIVE-C

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

SWIFT

var ttsName: [SDLTTSChunk]? { get set }

vrSynonyms

@abstract Defines a additional voice recognition commands

@discussion May not interfere with any app name of previously registered

applications and any predefined blacklist of words (global commands)

Optional, Array of Strings, Array length 1 - 100, Max String length 40

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *ngnMediaScreenAppName;

SWIFT

var ngnMediaScreenAppName: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<NSString *> *vrSynonyms;

isMediaApplication

@abstract Indicates if the application is a media or a non-media application.

@discussion Only media applications will be able to stream audio to head units

that is audible outside of the BT media source.

Required, Boolean

SWIFT

var vrSynonyms: [String]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull isMediaApplication;

SWIFT

var isMediaApplication: NSNumber & SDLBool { get set }

languageDesired

@abstract A Language enumeration indicating what language the application

intends to use for user interaction (TTS and VR).

@discussion If there is a mismatch with the head unit, the app will be able to

change this registration with changeRegistration prior to app being brought into

focus.

Required

hmiDisplayLanguageDesired

@abstract An enumeration indicating what language the application intends to

use for user interaction (Display).

@discussion If there is a mismatch with the head unit, the app will be able to

change this registration with changeRegistration prior to app being brought into

focus.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull languageDesired;

SWIFT

var languageDesired: SDLLanguage { get set }

Required

@since SDL 2.0

appHMIType

@abstract A list of all applicable app types stating which classifications to be

given to the app.

Optional, Array of SDLAppHMIType, Array size 1 - 100

@since SDL 2.0

See

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull hmiDisplayLanguageDesired;

SWIFT

var hmiDisplayLanguageDesired: SDLLanguage { get set }

SDLAppHMIType

hashID

@abstract ID used to uniquely identify current state of all app data that can

persist through connection cycles (e.g. ignition cycles).

@discussion This registered data (commands, submenus, choice sets, etc.) can

be reestablished without needing to explicitly reregister each piece. If omitted,

then the previous state of an app’s commands, etc. will not be restored.

When sending hashID, all RegisterAppInterface parameters should still be

provided (e.g. ttsName, etc.).

Optional, max length 100 chars

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLAppHMIType> *appHMIType;

SWIFT

var appHMIType: [SDLAppHMIType]? { get set }

deviceInfo

@abstract Information about the connecting device

Optional

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *hashID;

SWIFT

var hashID: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLDeviceInfo *deviceInfo;

appID

@abstract ID used to validate app with policy table entries

Required, max length 100

@since SDL 2.0

appInfo

@abstract Information about the application running

SWIFT

var deviceInfo: SDLDeviceInfo? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull appID;

SWIFT

var appID: String { get set }

Optional

SDLRegisterAppInterfaceResponseClass Reference

Section Contents

• syncMsgVersion• language• hmiDisplayLanguage• displayCapabilities• buttonCapabilities• softButtonCapabilities• presetBankCapabilities• hmiZoneCapabilities

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLAppInfo *appInfo;

SWIFT

var appInfo: SDLAppInfo? { get set }

• speechCapabilities• prerecordedSpeech• vrCapabilities• audioPassThruCapabilities• pcmStreamCapabilities• vehicleType• supportedDiagModes• hmiCapabilities• sdlVersion• systemSoftwareVersion

Overview

@abstract Register AppInterface Response is sent, when

SDLRegisterAppInterface has been called

Since SmartDeviceLink 1.0

syncMsgVersion

SeeSDLSyncMsgVersion Optional

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLSyncMsgVersion *syncMsgVersion;

language

The currently active VR+TTS language on Sync.

SeeSDLLanguage Optional

hmiDisplayLanguage

The currently active display language on Sync

See

SWIFT

var syncMsgVersion: SDLSyncMsgVersion? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLLanguage language;

SWIFT

var language: SDLLanguage? { get set }

SDLLanguage @since SmartDeviceLink 2.0 Optional

displayCapabilities

SeeSDLDisplayCapabilities Optional

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLLanguage hmiDisplayLanguage;

SWIFT

var hmiDisplayLanguage: SDLLanguage? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLDisplayCapabilities *displayCapabilities;

buttonCapabilities

SeeSDLButtonCapabilities Optional, Array of length 1 - 100, of SDLButtonCapabilities

softButtonCapabilities

If returned, the platform supports on-screen SoftButtons

SeeSDLSoftButtonCapabilities

SWIFT

var displayCapabilities: SDLDisplayCapabilities? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLButtonCapabilities *> *buttonCapabilities;

SWIFT

var buttonCapabilities: [SDLButtonCapabilities]? { get set }

Optional, Array of length 1 - 100, of SDLSoftButtonCapabilities

presetBankCapabilities

If returned, the platform supports custom on-screen Presets

SeeSDLPresetBankCapabilities Optional

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLSoftButtonCapabilities *> *softButtonCapabilities;

SWIFT

var softButtonCapabilities: [SDLSoftButtonCapabilities]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLPresetBankCapabilities *presetBankCapabilities;

hmiZoneCapabilities

SeeSDLHMIZoneCapabilities Optional, Array of length 1 - 100, of SDLHMIZoneCapabilities

speechCapabilities

SeeSDLSpeechCapabilities Optional, Array of length 1 - 100, of SDLSpeechCapabilities

SWIFT

var presetBankCapabilities: SDLPresetBankCapabilities? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLHMIZoneCapabilities> *hmiZoneCapabilities;

SWIFT

var hmiZoneCapabilities: [SDLHMIZoneCapabilities]? { get set }

prerecordedSpeech

SeeSDLPrerecordedSpeech Optional, Array of length 1 - 100, of SDLPrerecordedSpeech

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLSpeechCapabilities> *speechCapabilities;

SWIFT

var speechCapabilities: [SDLSpeechCapabilities]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLPrerecordedSpeech> *prerecordedSpeech;

vrCapabilities

SeeSDLVRCapabilities Optional, Array of length 1 - 100, of SDLVRCapabilities

audioPassThruCapabilities

SeeSDLAudioPassThruCapabilities Optional, Array of length 1 - 100, of SDLAudioPassThruCapabilities

SWIFT

var prerecordedSpeech: [SDLPrerecordedSpeech]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLVRCapabilities> *vrCapabilities;

SWIFT

var vrCapabilities: [SDLVRCapabilities]? { get set }

pcmStreamCapabilities

SeeSDLAudioPassThruCapabilities

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLAudioPassThruCapabilities *> *audioPassThruCapabilities;

SWIFT

var audioPassThruCapabilities: [SDLAudioPassThruCapabilities]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLAudioPassThruCapabilities *pcmStreamCapabilities;

vehicleType

Specifies the vehicle’s type

SeeSDLVehicleType Optional, Array of length 1 - 100, of SDLVehicleType

SWIFT

var pcmStreamCapabilities: SDLAudioPassThruCapabilities? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleType *vehicleType;

SWIFT

var vehicleType: SDLVehicleType? { get set }

supportedDiagModes

Specifies the white-list of supported diagnostic modes (0x00-0xFF) capable for

DiagnosticMessage requests. If a mode outside this list is requested, it will be

rejected.

Optional, Array of length 1 - 100, Integer 0 - 255

hmiCapabilities

SeeSDLHMICapabilities Optional

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<NSNumber<SDLInt> *> *supportedDiagModes;

SWIFT

var supportedDiagModes: [NSNumber & SDLInt]? { get set }

sdlVersion

The SmartDeviceLink version

Optional, String max length 100

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLHMICapabilities *hmiCapabilities;

SWIFT

var hmiCapabilities: SDLHMICapabilities? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *sdlVersion;

systemSoftwareVersion

The software version of the system that implements the SmartDeviceLink core

Optional, String max length 100

SWIFT

var sdlVersion: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *systemSoftwareVersion;

SWIFT

var systemSoftwareVersion: String? { get set }

SDLRemoteControlCapabilities ClassReference

Section Contents

• -

initWithClimateControlCapabilities:radioControlCapabilities:buttonCapabilities:• climateControlCapabilities• radioControlCapabilities• buttonCapabilities

Overview

Undocumented

-

initWithClimateControlCapabilities:radioControlCapabilities:buttonCapabilities:

Undocumented

OBJECTIVE-C

- (instancetype)initWithClimateControlCapabilities:(nullable NSArray<SDLClimateControlCapabilities *> *)climateControlCapabilities radioControlCapabilities:(nullable NSArray<SDLRadioControlCapabilities *> *)radioControlCapabilities buttonCapabilities:(nullable NSArray<SDLButtonCapabilities *> *)buttonCapabilities;

climateControlCapabilities

@abstract If included, the platform supports RC climate controls. For this

baseline version, maxsize=1. i.e. only one climate control module is supported.

Optional, Array of SDLClimateControlCapabilities, Array length 1 - 100

SWIFT

init(climateControlCapabilities: [SDLClimateControlCapabilities]?, radioControlCapabilities: [SDLRadioControlCapabilities]?, buttonCapabilities: [SDLButtonCapabilities]?)

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLClimateControlCapabilities *> *climateControlCapabilities;

SWIFT

var climateControlCapabilities: [SDLClimateControlCapabilities]? { get set }

radioControlCapabilities

@abstract If included, the platform supports RC radio controls. For this baseline

version, maxsize=1. i.e. only one radio control module is supported.

Optional, Array of SDLRadioControlCapabilities, Array length 1 - 100

buttonCapabilities

@abstract If included, the platform supports RC button controls with the

included button names.

Optional, Array of SDLButtonCapabilities, Array length 1 - 100

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLRadioControlCapabilities *> *radioControlCapabilities;

SWIFT

var radioControlCapabilities: [SDLRadioControlCapabilities]? { get set }

SDLResetGlobalProperties ClassReference

Section Contents

• -initWithProperties:• properties

Overview

Resets the passed global properties to their default values as defined by SDL

The HELPPROMPT global property default value is generated by SDL consists of

the first vrCommand of each Command Menu item defined at the moment PTT

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLButtonCapabilities *> *buttonCapabilities;

SWIFT

var buttonCapabilities: [SDLButtonCapabilities]? { get set }

is pressed

The TIMEOUTPROMPT global property default value is the same as the

HELPPROMPT global property default value

HMILevel needs to be FULL, LIMITED or BACKGROUND

Since SmartDeviceLink 1.0 See SetGlobalProperties

-initWithProperties:

Undocumented

properties

@abstract An array of one or more GlobalProperty enumeration elements

indicating which global properties to reset to their default value

OBJECTIVE-C

- (instancetype)initWithProperties:(NSArray<SDLGlobalProperty> *)properties;

SWIFT

init(properties: [SDLGlobalProperty])

SDLScreenParams Class Reference

Section Contents

• resolution• touchEventAvailable

Overview

Undocumented

resolution

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<SDLGlobalProperty> *_Nonnull properties;

SWIFT

var properties: [SDLGlobalProperty] { get set }

touchEventAvailable

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLImageResolution *resolution

SWIFT

var resolution: SDLImageResolution { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLTouchEventCapabilities *touchEventAvailable

SWIFT

var touchEventAvailable: SDLTouchEventCapabilities? { get set }

SDLScrollableMessage Class Reference

Section Contents

• -initWithMessage:• -initWithMessage:timeout:softButtons:• scrollableMessageBody• timeout• softButtons

Overview

Creates a full screen overlay containing a large block of formatted text that can

be scrolled with up to 8 SoftButtons defined

Function Group: ScrollableMessage

HMILevel needs to be FULL

-initWithMessage:

Undocumented

OBJECTIVE-C

- (instancetype)initWithMessage:(NSString *)message;

-initWithMessage:timeout:softButtons:

Undocumented

scrollableMessageBody

@abstract A Body of text that can include newlines and tabs @discussion A

String value representing the Body of text that can include newlines and tabs

Notes: Maxlength=500

SWIFT

init(message: String)

OBJECTIVE-C

- (instancetype)initWithMessage:(NSString *)message timeout:(UInt16)timeout softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;

SWIFT

init(message: String, timeout: UInt16, softButtons: [SDLSoftButton]?)

timeout

@abstract Gets/Sets an App defined timeout. Indicates how long of a timeout in

milliseconds from the last action @discussion An Integer value representing an

App defined timeout in milliseconds

Notes:Minval=0; Maxval=65535;Default=30000

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull scrollableMessageBody;

SWIFT

var scrollableMessageBody: String { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *timeout;

softButtons

@abstract Gets/Sets App defined SoftButtons.If omitted on supported displays,

only the system defined “Close” SoftButton will be displayed @discussion A

Vector value representing App defined SoftButtons

Notes: Minsize=0, Maxsize=8

SWIFT

var timeout: (NSNumber & SDLInt)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLSoftButton *> *softButtons;

SWIFT

var softButtons: [SDLSoftButton]? { get set }

SDLSendHapticData Class Reference

Section Contents

• -initWithHapticRectData:• hapticRectData

Overview

Sends the spatial data gathered from SDLCarWindow or VirtualDisplayEncoder

to the HMI. This data will be utilized by the HMI to determine how and when

haptic events should occur.

-initWithHapticRectData:

Constructs a new SDLSendHapticData object indicated by the hapticSpatialData

parameter

OBJECTIVE-C

- (nonnull instancetype)initWithHapticRectData: (nonnull NSArray<SDLHapticRect *> *)hapticRectData;

SWIFT

init(hapticRectData: [SDLHapticRect])

hapticRectData

Array of spatial data structures

hapticRectData

Array of spatial data structures that represent the locations of all user controls

present on the HMI. This data should be updated if/when the application

presents a new screen. When a request is sent, if successful, it will replace all

spatial data previously sent through RPC. If an empty array is sent, the existing

spatial data will be cleared

Optional, Array of SDLHapticRect, Array size 0 - 1,000

PARAMETERS

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLHapticRect *> *hapticRectData;

SWIFT

var hapticRectData: [SDLHapticRect]? { get set }

SDLSendLocation Class Reference

Section Contents

• -

initWithLongitude:latitude:locationName:locationDescription:address:phoneNumber:image:• -

initWithLongitude:latitude:locationName:locationDescription:displayAddressLines:phoneNumber:image:deliv• longitudeDegrees• latitudeDegrees• locationName• locationDescription• addressLines• phoneNumber• locationImage• deliveryMode• timeStamp• address

Overview

Undocumented

-

initWithLongitude:latitude:locationName:locationDescription:address:phoneNum

Undocumented

-

initWithLongitude:latitude:locationName:locationDescription:displayAddressLin

Undocumented

OBJECTIVE-C

- (instancetype)initWithLongitude:(double)longitude latitude:(double)latitude locationName:(nullable NSString *)locationName locationDescription:(nullable NSString *)locationDescription address:(nullable NSArray<NSString *> *)address phoneNumber:(nullable NSString *)phoneNumber image:(nullable SDLImage *)image;

SWIFT

init(longitude: Double, latitude: Double, locationName: String?, locationDescription: String?, address: [String]?, phoneNumber: String?, image: SDLImage?)

longitudeDegrees

The longitudinal coordinate of the location.

Float, Required, -180.0 - 180.0

OBJECTIVE-C

- (instancetype)initWithLongitude:(double)longitude latitude:(double)latitude locationName:(nullable NSString *)locationName locationDescription:(nullable NSString *)locationDescription displayAddressLines:(nullable NSArray<NSString *> *)displayAddressLines phoneNumber:(nullable NSString *)phoneNumber image:(nullable SDLImage *)image deliveryMode:(nullable SDLDeliveryMode)deliveryMode timeStamp:(nullable SDLDateTime *)timeStamp address:(nullable SDLOasisAddress *)address;

SWIFT

init(longitude: Double, latitude: Double, locationName: String?, locationDescription: String?, displayAddressLines: [String]?, phoneNumber: String?, image: SDLImage?, deliveryMode: SDLDeliveryMode?, timeStamp: SDLDateTime?, address: SDLOasisAddress?)

latitudeDegrees

The latitudinal coordinate of the location.

Float, Required, -90.0 - 90.0

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSNumber<SDLFloat> *longitudeDegrees;

SWIFT

@NSCopying var longitudeDegrees: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSNumber<SDLFloat> *latitudeDegrees;

locationName

Name / title of intended location

Optional, Maxlength = 500 char

locationDescription

Description of the intended location / establishment

Optional, MaxLength = 500 char

SWIFT

@NSCopying var latitudeDegrees: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *locationName;

SWIFT

var locationName: String? { get set }

addressLines

Location address for display purposes only

Contains String, Optional, Max Array Length = 4, Max String Length = 500

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *locationDescription;

SWIFT

var locationDescription: String? { get set }

OBJECTIVE-C

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

phoneNumber

Phone number of intended location / establishment

Optional, Max Length = 500

locationImage

Image / icon of intended location

Optional

SWIFT

var addressLines: [String]? { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSString *phoneNumber;

SWIFT

var phoneNumber: String? { get set }

deliveryMode

Mode in which the sendLocation request is sent

Optional

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLImage *locationImage;

SWIFT

var locationImage: SDLImage? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLDeliveryMode deliveryMode;

timeStamp

Arrival time of Location. If multiple SendLocations are sent, this will be used for

sorting as well.

Optional

address

Address to be used for setting destination

SWIFT

var deliveryMode: SDLDeliveryMode? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLDateTime *timeStamp;

SWIFT

var timeStamp: SDLDateTime? { get set }

Optional

SDLSetAppIcon Class Reference

Section Contents

• -initWithFileName:• syncFileName

Overview

Used to set existing local file on SDL as the app’s icon. Not supported on first

generation SDL modules.

Since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLOasisAddress *address;

SWIFT

var address: SDLOasisAddress? { get set }

-initWithFileName:

Undocumented

syncFileName

@abstract A file reference name @discussion A String value representing a file

reference name

Notes: Maxlength=500

OBJECTIVE-C

- (instancetype)initWithFileName:(NSString *)fileName;

SWIFT

init(fileName: String)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull syncFileName;

SDLSetDisplayLayout Class Reference

Section Contents

• -initWithPredefinedLayout:• -initWithLayout:• displayLayout

Overview

Used to set an alternate display layout. If not sent, default screen for given

platform will be shown

Since SmartDeviceLink 2.0

-initWithPredefinedLayout:

Undocumented

SWIFT

var syncFileName: String { get set }

-initWithLayout:

Undocumented

OBJECTIVE-C

- (instancetype)initWithPredefinedLayout:(SDLPredefinedLayout)predefinedLayout;

SWIFT

init(predefinedLayout: SDLPredefinedLayout)

OBJECTIVE-C

- (instancetype)initWithLayout:(NSString *)displayLayout;

SWIFT

init(layout displayLayout: String)

displayLayout

@abstract A display layout. Predefined or dynamically created screen layout.

Currently only predefined screen layouts are defined. Predefined layouts

include: “ONSCREEN_PRESETS” Custom screen containing app-defined

onscreen presets. Currently defined for GEN2

SDLSetDisplayLayoutResponse ClassReference

Section Contents

• displayCapabilities• buttonCapabilities

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull displayLayout;

SWIFT

var displayLayout: String { get set }

• softButtonCapabilities• presetBankCapabilities

Overview

Set Display Layout Response is sent, when SetDisplayLayout has been called

Since SmartDeviceLink 2.0

displayCapabilities

Undocumented

buttonCapabilities

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLDisplayCapabilities *displayCapabilities

SWIFT

var displayCapabilities: SDLDisplayCapabilities? { get set }

softButtonCapabilities

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSArray<SDLButtonCapabilities *> *buttonCapabilities

SWIFT

var buttonCapabilities: [SDLButtonCapabilities]? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) NSArray<SDLSoftButtonCapabilities *> *softButtonCapabilities

SWIFT

var softButtonCapabilities: [SDLSoftButtonCapabilities]? { get set }

presetBankCapabilities

Undocumented

SDLSetGlobalProperties ClassReference

Section Contents

• -initWithHelpText:timeoutText:• -initWithHelpText:timeoutText:vrHelpTitle:vrHelp:• -

initWithHelpText:timeoutText:vrHelpTitle:vrHelp:menuTitle:menuIcon:keyboardProperties:• helpPrompt

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLPresetBankCapabilities *presetBankCapabilities

SWIFT

var presetBankCapabilities: SDLPresetBankCapabilities? { get set }

• timeoutPrompt• vrHelpTitle• vrHelp• menuTitle• menuIcon• keyboardProperties

Overview

Sets value(s) for the specified global property(ies)

Function Group: Base

HMILevel needs to be FULL, LIMITED or BACKGROUND

Since SmartDeviceLink 1.0 See SDLResetGlobalProperties

-initWithHelpText:timeoutText:

Undocumented

OBJECTIVE-C

- (instancetype)initWithHelpText:(nullable NSString *)helpText timeoutText:(nullable NSString *)timeoutText;

SWIFT

init(helpText: String?, timeoutText: String?)

-initWithHelpText:timeoutText:vrHelpTitle:vrHelp:

Undocumented

-

initWithHelpText:timeoutText:vrHelpTitle:vrHelp:menuTitle:menuIcon:keyboard

Undocumented

OBJECTIVE-C

- (instancetype)initWithHelpText:(nullable NSString *)helpText timeoutText:(nullable NSString *)timeoutText vrHelpTitle:(nullable NSString *)vrHelpTitle vrHelp:(nullable NSArray<SDLVRHelpItem *> *)vrHelp;

SWIFT

init(helpText: String?, timeoutText: String?, vrHelpTitle: String?, vrHelp: [SDLVRHelpItem]?)

helpPrompt

@abstract Sets a Vector for Help Prompt that Array of one or more TTSChunk

elements specifying the help prompt used in an interaction started by PTT

@discussion helpPrompt a Vector of one or more TTSChunk elements

Notes:

• Array must have at least one element• Only optional it timeoutPrompt has been specified

OBJECTIVE-C

- (instancetype)initWithHelpText:(nullable NSString *)helpText timeoutText:(nullable NSString *)timeoutText vrHelpTitle:(nullable NSString *)vrHelpTitle vrHelp:(nullable NSArray<SDLVRHelpItem *> *)vrHelp menuTitle:(nullable NSString *)menuTitle menuIcon:(nullable SDLImage *)menuIcon keyboardProperties:(nullable SDLKeyboardProperties *)keyboardProperties;

SWIFT

init(helpText: String?, timeoutText: String?, vrHelpTitle: String?, vrHelp: [SDLVRHelpItem]?, menuTitle: String?, menuIcon: SDLImage?, keyboardProperties: SDLKeyboardProperties?)

timeoutPrompt

@abstract A Vector for Timeout Prompt representing Array of one or more

TTSChunk elements specifying the help prompt used in an interaction started

by PTT

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *helpPrompt;

SWIFT

var helpPrompt: [SDLTTSChunk]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *timeoutPrompt;

vrHelpTitle

@abstract Sets a voice recognition Help Title

@discussion A String value representing a voice recognition Help Title

Notes:

• If omitted on supported displays, the default SDL help title will be used• If omitted and one or more vrHelp items are provided, the request will be

rejected.• String Maxlength = 500

@since SmartDeviceLink 2.0

SWIFT

var timeoutPrompt: [SDLTTSChunk]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *vrHelpTitle;

SWIFT

var vrHelpTitle: String? { get set }

vrHelp

@abstract Sets the items listed in the VR help screen used in an interaction

started by PTT

@discussion A Vector value representing items listed in the VR help screen

used in an interaction started by PTT

Notes:

• If omitted on supported displays, the default SmartDeviceLink VR help /

What Can I Say? screen will be used• If the list of VR Help Items contains nonsequential positions (e.g. [1,2,4]),

the RPC will be rejected• If omitted and a vrHelpTitle is provided, the request will be rejected• Array Minsize: = 1• Array Maxsize = 100

@since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLVRHelpItem *> *vrHelp;

SWIFT

var vrHelp: [SDLVRHelpItem]? { get set }

menuTitle

Undocumented

menuIcon

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSString *menuTitle

SWIFT

var menuTitle: String? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLImage *menuIcon

keyboardProperties

Undocumented

SWIFT

var menuIcon: SDLImage? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLKeyboardProperties *keyboardProperties

SWIFT

var keyboardProperties: SDLKeyboardProperties? { get set }

SDLSetInteriorVehicleData ClassReference

Section Contents

• -initWithModuleData:• moduleData

Overview

This RPC allows a remote control type mobile application to change the settings

of a specific remote control module.

-initWithModuleData:

Undocumented

OBJECTIVE-C

- (instancetype)initWithModuleData:(SDLModuleData *)moduleData;

SWIFT

init(moduleData: SDLModuleData)

moduleData

The module data to set for the requested RC module.

SDLSetInteriorVehicleDataResponseClass Reference

Section Contents

• moduleData

Overview

Used to set the values of one remote control module

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLModuleData *_Nonnull moduleData;

SWIFT

var moduleData: SDLModuleData { get set }

moduleData

The module data to set for the requested remote control module.

SDLSetMediaClockTimer ClassReference

Section Contents

• -initWithUpdateMode:hours:minutes:seconds:• -initWithUpdateMode:• startTime• endTime• updateMode

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLModuleData *_Nonnull moduleData;

SWIFT

var moduleData: SDLModuleData { get set }

Overview

Sets the media clock/timer value and the update method (e.g.count-up, count-

down, etc.)

Function Group: Base

HMILevel needs to be FULL, LIMITIED or BACKGROUND

Since SmartDeviceLink 1.0

-initWithUpdateMode:hours:minutes:seconds:

Undocumented

-initWithUpdateMode:

Undocumented

OBJECTIVE-C

- (instancetype)initWithUpdateMode:(SDLUpdateMode)updateMode hours:(UInt8)hours minutes:(UInt8)minutes seconds:(UInt8)seconds;

SWIFT

init(updateMode: SDLUpdateMode, hours: UInt8, minutes: UInt8, seconds: UInt8)

startTime

@abstract A Start Time with specifying hour, minute, second values

@discussion A startTime object with specifying hour, minute, second values

Notes:

• If “updateMode” is COUNTUP or COUNTDOWN, this parameter must be

provided• Will be ignored for PAUSE/RESUME and CLEAR

OBJECTIVE-C

- (instancetype)initWithUpdateMode:(SDLUpdateMode)updateMode;

SWIFT

init(updateMode: SDLUpdateMode)

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLStartTime *startTime;

endTime

@abstract An END time of type SDLStartTime, specifying hour, minute, second

values

@discussion An SDLStartTime object with specifying hour, minute, second

values

SWIFT

var startTime: SDLStartTime? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLStartTime *endTime;

SWIFT

var endTime: SDLStartTime? { get set }

updateMode

@abstract The media clock/timer update mode (COUNTUP/COUNTDOWN/

PAUSE/RESUME)

@discussion a Enumeration value (COUNTUP/COUNTDOWN/PAUSE/RESUME)

Notes:

• When updateMode is PAUSE, RESUME or CLEAR, the start time value is

ignored• When updateMode is RESUME, the timer resumes counting from the

timer’s value when it was paused

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLUpdateMode _Nonnull updateMode;

SWIFT

var updateMode: SDLUpdateMode { get set }

SDLShow Class Reference

Section Contents

• -initWithMainField1:mainField2:alignment:• -initWithMainField1:mainField1Type:mainField2:mainField2Type:alignment:• -initWithMainField1:mainField2:mainField3:mainField4:alignment:• -

initWithMainField1:mainField1Type:mainField2:mainField2Type:mainField3:mainField3Type:mainField4:mainF• -

initWithMainField1:mainField2:alignment:statusBar:mediaClock:mediaTrack:• -

initWithMainField1:mainField2:mainField3:mainField4:alignment:statusBar:mediaClock:mediaTrack:graphic:s• mainField1• mainField2• mainField3• mainField4• alignment• statusBar• mediaClock• mediaTrack• graphic• secondaryGraphic• softButtons• customPresets• metadataTags

Overview

Updates the application’s display text area, regardless of whether or not this

text area is visible to the user at the time of the request. The application’s

display text area remains unchanged until updated by subsequent calls to Show

The content of the application’s display text area is visible to the user when the

application is FULL or LIMITED, and the SDLSystemContext=MAIN and no

SDLAlert is in progress

The Show operation cannot be used to create an animated scrolling screen. To

avoid distracting the driver, Show commands cannot be issued more than once

every 4 seconds. Requests made more frequently than this will be rejected

HMILevel needs to be FULL, LIMITED or BACKGROUND

Since SmartDeviceLink 1.0 See SDLAlert SDLSetMediaClockTimer

-initWithMainField1:mainField2:alignment:

Undocumented

OBJECTIVE-C

- (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField2:(nullable NSString *)mainField2 alignment:(nullable SDLTextAlignment)alignment;

SWIFT

init(mainField1: String?, mainField2: String?, alignment: SDLTextAlignment?)

-

initWithMainField1:mainField1Type:mainField2:mainField2Type:alignment:

Undocumented

-

initWithMainField1:mainField2:mainField3:mainField4:alignment:

Undocumented

OBJECTIVE-C

- (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField1Type:(nullable SDLMetadataType)mainField1Type mainField2:(nullable NSString *)mainField2 mainField2Type:(nullable SDLMetadataType)mainField2Type alignment:(nullable SDLTextAlignment)alignment;

SWIFT

init(mainField1: String?, mainField1Type: SDLMetadataType?, mainField2: String?, mainField2Type: SDLMetadataType?, alignment: SDLTextAlignment?)

-

initWithMainField1:mainField1Type:mainField2:mainField2Type:mainField3:main

Undocumented

OBJECTIVE-C

- (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField2:(nullable NSString *)mainField2 mainField3:(nullable NSString *)mainField3 mainField4:(nullable NSString *)mainField4 alignment:(nullable SDLTextAlignment)alignment;

SWIFT

init(mainField1: String?, mainField2: String?, mainField3: String?, mainField4: String?, alignment: SDLTextAlignment?)

-

initWithMainField1:mainField2:alignment:statusBar:mediaClock:mediaTrack:

Undocumented

OBJECTIVE-C

- (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField1Type:(nullable SDLMetadataType)mainField1Type mainField2:(nullable NSString *)mainField2 mainField2Type:(nullable SDLMetadataType)mainField2Type mainField3:(nullable NSString *)mainField3 mainField3Type:(nullable SDLMetadataType)mainField3Type mainField4:(nullable NSString *)mainField4 mainField4Type:(nullable SDLMetadataType)mainField4Type alignment:(nullable SDLTextAlignment)alignment;

SWIFT

init(mainField1: String?, mainField1Type: SDLMetadataType?, mainField2: String?, mainField2Type: SDLMetadataType?, mainField3: String?, mainField3Type: SDLMetadataType?, mainField4: String?, mainField4Type: SDLMetadataType?, alignment: SDLTextAlignment?)

-

initWithMainField1:mainField2:mainField3:mainField4:alignment:statusBar:med

Undocumented

OBJECTIVE-C

- (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField2:(nullable NSString *)mainField2 alignment:(nullable SDLTextAlignment)alignment statusBar:(nullable NSString *)statusBar mediaClock:(nullable NSString *)mediaClock mediaTrack:(nullable NSString *)mediaTrack;

SWIFT

init(mainField1: String?, mainField2: String?, alignment: SDLTextAlignment?, statusBar: String?, mediaClock: String?, mediaTrack: String?)

mainField1

@abstract The text displayed in a single-line display, or in the upper display

line in a two-line display @discussion The String value representing the text

displayed in a single-line display, or in the upper display line in a two-line

display

Notes:

• If this parameter is omitted, the text of mainField1 does not change

OBJECTIVE-C

- (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField2:(nullable NSString *)mainField2 mainField3:(nullable NSString *)mainField3 mainField4:(nullable NSString *)mainField4 alignment:(nullable SDLTextAlignment)alignment statusBar:(nullable NSString *)statusBar mediaClock:(nullable NSString *)mediaClock mediaTrack:(nullable NSString *)mediaTrack graphic:(nullable SDLImage *)graphic softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons customPresets:(nullable NSArray<NSString *> *)customPresets textFieldMetadata:(nullable SDLMetadataTags *)metadata;

SWIFT

init(mainField1: String?, mainField2: String?, mainField3: String?, mainField4: String?, alignment: SDLTextAlignment?, statusBar: String?, mediaClock: String?, mediaTrack: String?, graphic: SDLImage?, softButtons: [SDLSoftButton]?, customPresets: [String]?, textFieldMetadata metadata: SDLMetadataTags?)

• If this parameter is an empty string, the field will be cleared

mainField2

@abstract The text displayed on the second display line of a two-line display

@discussion The String value representing the text displayed on the second

display line of a two-line display

Notes:

• If this parameter is omitted, the text of mainField2 does not change• If this parameter is an empty string, the field will be cleared• If provided and the display is a single-line display, the parameter is

ignored• Maxlength = 500

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *mainField1;

SWIFT

var mainField1: String? { get set }

mainField3

@abstract The text displayed on the first display line of the second page

@discussion The String value representing the text displayed on the first

display line of the second page

Notes:

• If this parameter is omitted, the text of mainField3 does not change• If this parameter is an empty string, the field will be cleared• If provided and the display is a single-line display, the parameter is

ignored• Maxlength = 500

@since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *mainField2;

SWIFT

var mainField2: String? { get set }

mainField4

@abstract The text displayed on the second display line of the second page

@discussion The String value representing the text displayed on the second

display line of the second page

Notes:

• If this parameter is omitted, the text of mainField4 does not change• If this parameter is an empty string, the field will be cleared• If provided and the display is a single-line display, the parameter is

ignored• Maxlength = 500

@since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *mainField3;

SWIFT

var mainField3: String? { get set }

alignment

@abstract The alignment that Specifies how mainField1 and mainField2 text

should be aligned on display

@discussion An Enumeration value

Notes:

• Applies only to mainField1 and mainField2 provided on this call, not to

what is already showing in display• If this parameter is omitted, text in both mainField1 and mainField2 will be

centered• Has no effect with navigation display

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *mainField4;

SWIFT

var mainField4: String? { get set }

statusBar

@abstract Text in the Status Bar

@discussion A String representing the text you want to add in the Status Bar

Notes: The status bar only exists on navigation displays

• If this parameter is omitted, the status bar text will remain unchanged• If this parameter is an empty string, the field will be cleared• If provided and the display has no status bar, this parameter is ignored

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLTextAlignment alignment;

SWIFT

var alignment: SDLTextAlignment? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *statusBar;

mediaClock

@abstract This property is deprecated use SetMediaClockTimer instead.

The value for the MediaClock field using a format described in the

MediaClockFormat enumeration

@discussion A String value for the MediaClock

Notes:

• Must be properly formatted as described in the MediaClockFormat

enumeration• If a value of five spaces is provided, this will clear that field on the display

(i.e. the media clock timer field will not display anything)

SWIFT

var statusBar: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *mediaClock;

mediaTrack

@abstract The text in the track field

@discussion A String value disaplayed in the track field

Notes:

• If parameter is omitted, the track field remains unchanged• If an empty string is provided, the field will be cleared• This field is only valid for media applications on navigation displays

SWIFT

var mediaClock: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *mediaTrack;

SWIFT

var mediaTrack: String? { get set }

graphic

@abstract An image to be shown on supported displays

@discussion The value representing the image shown on supported displays

Notes: If omitted on supported displays, the displayed graphic shall not

change

@since SmartDeviceLink 2.0

secondaryGraphic

@abstract An image to be shown on supported displays

@discussion The value representing the image shown on supported displays

Notes: If omitted on supported displays, the displayed graphic shall not

change

@since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLImage *graphic;

SWIFT

var graphic: SDLImage? { get set }

softButtons

@abstract The the Soft buttons defined by the App

@discussion A Vector value represemting the Soft buttons defined by the App

Notes:

• If omitted on supported displays, the currently displayed SoftButton

values will not change• Array Minsize: 0• Array Maxsize: 8

@since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLImage *secondaryGraphic;

SWIFT

var secondaryGraphic: SDLImage? { get set }

customPresets

@abstract The Custom Presets defined by the App

@discussion A Vector value representing the Custom Presets defined by the

App

• If omitted on supported displays, the presets will be shown as not defined• Array Minsize: 0• Array Maxsize: 6

@since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLSoftButton *> *softButtons;

SWIFT

var softButtons: [SDLSoftButton]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<NSString *> *customPresets;

metadataTags

@abstract Text Field Metadata

@discussion A Vector value representing the Custom Presets defined by the

App

App defined metadata information. See MetadataStruct. Uses mainField1,

mainField2, mainField3, mainField4. If omitted on supported displays, the

currently set metadata tags will not change. If any text field contains no tags or

the none tag, the metadata tag for that textfield should be removed. @since

SmartDeviceLink 2.0

SWIFT

var customPresets: [String]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLMetadataTags *metadataTags;

SWIFT

var metadataTags: SDLMetadataTags? { get set }

SDLShowConstantTBT Class Reference

Section Contents

• -

initWithNavigationText1:navigationText2:eta:timeToDestination:totalDistance:turnIcon:nextTurnIcon:distance• navigationText1• navigationText2• eta• timeToDestination• totalDistance• turnIcon• nextTurnIcon• distanceToManeuver• distanceToManeuverScale• maneuverComplete• softButtons

Overview

This RPC is used to update the user with navigation information

• for the constantly shown screen (base screen),but also for the• alert type screen. *• @since SmartDeviceLink 2.0

-

initWithNavigationText1:navigationText2:eta:timeToDestination:totalDistance:tu

Undocumented

navigationText1

Undocumented

OBJECTIVE-C

- (instancetype)initWithNavigationText1:(nullable NSString *)navigationText1 navigationText2:(nullable NSString *)navigationText2 eta:(nullable NSString *)eta timeToDestination:(nullable NSString *)timeToDestination totalDistance:(nullable NSString *)totalDistance turnIcon:(nullable SDLImage *)turnIcon nextTurnIcon:(nullable SDLImage *)nextTurnIcon distanceToManeuver:(double)distanceToManeuver distanceToManeuverScale:(double)distanceToManeuverScale maneuverComplete:(BOOL)maneuverComplete softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;

SWIFT

init(navigationText1: String?, navigationText2: String?, eta: String?, timeToDestination: String?, totalDistance: String?, turnIcon: SDLImage?, nextTurnIcon: SDLImage?, distanceToManeuver: Double, distanceToManeuverScale: Double, maneuverComplete: Bool, softButtons: [SDLSoftButton]?)

navigationText2

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSString *navigationText1

SWIFT

var navigationText1: String? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSString *navigationText2

SWIFT

var navigationText2: String? { get set }

eta

Undocumented

timeToDestination

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSString *eta

SWIFT

var eta: String? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSString *timeToDestination

totalDistance

Undocumented

turnIcon

Undocumented

SWIFT

var timeToDestination: String? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSString *totalDistance

SWIFT

var totalDistance: String? { get set }

nextTurnIcon

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLImage *turnIcon

SWIFT

var turnIcon: SDLImage? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLImage *nextTurnIcon

SWIFT

var nextTurnIcon: SDLImage? { get set }

distanceToManeuver

Undocumented

distanceToManeuverScale

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLFloat> *distanceToManeuver

SWIFT

var distanceToManeuver: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLFloat> *distanceToManeuverScale

maneuverComplete

Undocumented

softButtons

Undocumented

SWIFT

var distanceToManeuverScale: (NSNumber & SDLFloat)? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *maneuverComplete

SWIFT

var maneuverComplete: (NSNumber & SDLBool)? { get set }

SDLSingleTireStatus Class Reference

Section Contents

• status

Overview

Tire pressure status of a single tire.

@since SmartDeviceLink 2.0

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSArray<SDLSoftButton *> *softButtons

SWIFT

var softButtons: [SDLSoftButton]? { get set }

status

@abstract The volume status of a single tire

SDLSlider Class Reference

Section Contents

• -initWithNumTicks:position:• -initWithNumTicks:position:sliderHeader:sliderFooter:timeout:• -initWithNumTicks:position:sliderHeader:sliderFooters:timeout:• numTicks• position• sliderHeader• sliderFooter

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLComponentVolumeStatus _Nonnull status;

SWIFT

var status: SDLComponentVolumeStatus { get set }

• timeout

Overview

Creates a full screen or pop-up overlay (depending on platform) with a single

user controlled slider

HMILevel needs to be FULL

Since SmartDeviceLink 2.0

-initWithNumTicks:position:

Create an SDLSlider with only the number of ticks and position. Note that this is

not enough to get a SUCCESS response. You must supply additional data. See

below for required parameters.

OBJECTIVE-C

- (nonnull instancetype)initWithNumTicks:(UInt8)numTicks position:(UInt8)position;

SWIFT

init(numTicks: UInt8, position: UInt8)

numTicks

The number of ticks present on the slider.

position

The default starting position of the slider.

An SDLSlider RPC Request.

-

initWithNumTicks:position:sliderHeader:sliderFooter:timeout:

Create an SDLSlider with all required data and a static footer (or no footer).

PARAMETERS

RETURN VALUE

OBJECTIVE-C

- (nonnull instancetype)initWithNumTicks:(UInt8)numTicks position:(UInt8)position sliderHeader:(nonnull NSString *)sliderHeader sliderFooter:(nullable NSString *)sliderFooter timeout:(UInt16)timeout;

numTicks

The number of ticks present on the slider.

position

The default starting position of the slider.

sliderHeader

The header describing the slider.

sliderFooter

A static footer with text, or nil for no footer.

timeout

The length of time in milliseconds the popup should be displayed

before automatically disappearing.

SWIFT

init(numTicks: UInt8, position: UInt8, sliderHeader: String, sliderFooter: String?, timeout: UInt16)

PARAMETERS

An SDLSlider RPC Request.

-

initWithNumTicks:position:sliderHeader:sliderFooters:timeout:

Create an SDLSlider with all required data and a dynamic footer (or no footer).

RETURN VALUE

OBJECTIVE-C

- (nonnull instancetype)initWithNumTicks:(UInt8)numTicks position:(UInt8)position sliderHeader:(nonnull NSString *)sliderHeader sliderFooters: (nullable NSArray<NSString *> *)sliderFooters timeout:(UInt16)timeout;

SWIFT

init(numTicks: UInt8, position: UInt8, sliderHeader: String, sliderFooters: [String]?, timeout: UInt16)

numTicks

The number of ticks present on the slider.

position

The default starting position of the slider.

sliderHeader

The header describing the slider.

sliderFooters

An array of footers. This should be the same length as numTicks as

each footer should correspond to a tick, or no footer if nil.

timeout

The length of time in milliseconds the popup should be displayed

before automatically disappearing.

An SDLSlider RPC Request.

PARAMETERS

RETURN VALUE

numTicks

@abstract Represents a number of selectable items on a horizontal axis

Required, Integer, 2 - 26

position

@abstract An Initial position of slider control

Required, Integer, 1 - 26

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull numTicks;

SWIFT

var numTicks: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull position;

sliderHeader

@abstract A text header to display

Required, Max length 500 chars

sliderFooter

@abstract A text footer to display

SWIFT

var position: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull sliderHeader;

SWIFT

var sliderHeader: String { get set }

@discussion For a static text footer, only one footer string shall be provided in

the array.

For a dynamic text footer, the number of footer text string in the array must

match the numTicks value.

For a dynamic text footer, text array string should correlate with potential slider

position index.

If omitted on supported displays, no footer text shall be displayed.

Optional, Array of Strings, Array length 1 - 26, Max string length 500 chars

timeout

@abstract An App defined timeout in milliseconds

@discussion Indicates how long of a timeout from the last action (i.e. sliding

control resets timeout).

If omitted, the value is set to 10000.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<NSString *> *sliderFooter;

SWIFT

var sliderFooter: [String]? { get set }

Optional, Integer, 1000 - 65535

SDLSliderResponse Class Reference

Section Contents

• sliderPosition

Overview

Slider Response is sent, when Slider has been called

Since SmartDeviceLink 2.0

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *timeout;

SWIFT

var timeout: (NSNumber & SDLInt)? { get set }

sliderPosition

@abstract The selected position of the slider.

SDLSoftButton Class Reference

Section Contents

• -initWithHandler:• -initWithType:text:image:highlighted:buttonId:systemAction:handler:• handler• type• text• image• isHighlighted

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *sliderPosition;

SWIFT

var sliderPosition: (NSNumber & SDLInt)? { get set }

• softButtonID• systemAction

Overview

Undocumented

-initWithHandler:

Undocumented

-

initWithType:text:image:highlighted:buttonId:systemAction:handler:

Undocumented

OBJECTIVE-C

- (instancetype)initWithHandler:(nullable SDLRPCButtonNotificationHandler)handler;

SWIFT

init(handler: SDLRPCButtonNotificationHandler? = nil)

handler

Undocumented

OBJECTIVE-C

- (instancetype)initWithType:(SDLSoftButtonType)type text:(nullable NSString *)text image:(nullable SDLImage *)image highlighted:(BOOL)highlighted buttonId:(UInt16)buttonId systemAction:(nullable SDLSystemAction)systemAction handler:(nullable SDLRPCButtonNotificationHandler)handler;

SWIFT

init(type: SDLSoftButtonType, text: String?, image: SDLImage?, highlighted: Bool, buttonId: UInt16, systemAction: SDLSystemAction?, handler: SDLRPCButtonNotificationHandler? = nil)

OBJECTIVE-C

@property (copy, nonatomic) SDLRPCButtonNotificationHandler handler

type

Undocumented

text

Undocumented

SWIFT

var handler: SDLRPCButtonNotificationHandler { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLSoftButtonType type

SWIFT

var type: SDLSoftButtonType { get set }

image

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSString *text

SWIFT

var text: String? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLImage *image

SWIFT

var image: SDLImage? { get set }

isHighlighted

Undocumented

softButtonID

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *isHighlighted

SWIFT

var isHighlighted: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *softButtonID

systemAction

Undocumented

SWIFT

var softButtonID: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLSystemAction systemAction

SWIFT

var systemAction: SDLSystemAction? { get set }

SDLSoftButtonCapabilities ClassReference

Section Contents

• shortPressAvailable• longPressAvailable• upDownAvailable• imageSupported

Overview

Contains information about a SoftButton’s capabilities.

@since SDL 2.0

shortPressAvailable

@abstract The button supports a short press.

@discussion Whenever the button is pressed short, onButtonPressed(SHORT)

will be invoked.

Required, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull shortPressAvailable;

longPressAvailable

@abstract The button supports a LONG press.

@discussion Whenever the button is pressed long, onButtonPressed(LONG) will

be invoked.

Required, Boolean

SWIFT

var shortPressAvailable: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull longPressAvailable;

SWIFT

var longPressAvailable: NSNumber & SDLBool { get set }

upDownAvailable

@abstract The button supports “button down” and “button up”.

@discussion Whenever the button is pressed, onButtonEvent(DOWN) will be

invoked. Whenever the button is released, onButtonEvent(UP) will be invoked.

Required, Boolean

imageSupported

@abstract The button supports referencing a static or dynamic image.

Required, Boolean

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull upDownAvailable;

SWIFT

var upDownAvailable: NSNumber & SDLBool { get set }

SDLSpeak Class Reference

Section Contents

• -initWithTTS:• -initWithTTSChunks:• ttsChunks

Overview

Speaks a phrase over the vehicle audio system using SDL’s TTS (text-to-

speech) engine. The provided text to be spoken can be simply a text phrase, or

it can consist of phoneme specifications to direct SDL’s TTS engine to speak a “

speech-sculpted” phrase.

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull imageSupported;

SWIFT

var imageSupported: NSNumber & SDLBool { get set }

Receipt of the Response indicates the completion of the Speak operation,

regardless of how the Speak operation may have completed (i.e. successfully,

interrupted, terminated, etc.).

Requesting a new Speak operation while the application has another Speak

operation already in progress (i.e. no corresponding Response for that in-

progress Speak operation has been received yet) will terminate the in-progress

Speak operation (causing its corresponding Response to be sent by SDL) and

begin the requested Speak operation

Requesting a new Speak operation while the application has an SDLAlert

operation already in progress (i.e. no corresponding Response for that in-

progress SDLAlert operation has been received yet) will result in the Speak

operation request being rejected (indicated in the Response to the Request)

Requesting a new SDLAlert operation while the application has a Speak

operation already in progress (i.e. no corresponding Response for that in-

progress Speak operation has been received yet) will terminate the in-progress

Speak operation (causing its corresponding Response to be sent by SDL) and

begin the requested SDLAlert operation

Requesting a new Speak operation while the application has a

SDLPerformInteraction operation already in progress (i.e. no corresponding

Response for that in-progress SDLPerformInteraction operation has been

received yet) will result in the Speak operation request being rejected

(indicated in the Response to the Request)

Requesting a SDLPerformInteraction operation while the application has a

Speak operation already in progress (i.e. no corresponding Response for that in-

progress Speak operation has been received yet) will terminate the in-progress

Speak operation (causing its corresponding Response to be sent by SDL) and

begin the requested SDLPerformInteraction operation

HMI Status Requirements: • HMILevel: FULL, Limited• AudioStreamingState: Any• SystemContext: MAIN, MENU, VR

Notes: • When SDLAlert is issued with MENU in effect, SDLAlert is queued and “played”

when MENU interaction is completed (i.e. SystemContext reverts to MAIN).

When SDLAlert is issued with VR in effect, SDLAlert is queued and “played”when VR interaction is completed (i.e. SystemContext reverts to MAIN)

• When both SDLAlert and Speak are queued during MENU or VR, they are “played” back in the order in which they were queued, with all existing rules for “collisions” still in effect

Additional Notes: • Total character limit depends on platform.• Chunks are limited to 500 characters; however you can have multiple TTS

chunks.• On old systems there is a total character limit of 500 characters across all

chunks. This could vary according to the VCA.

@since SmartDeviceLink 1.0

SeeSDLAlert

-initWithTTS:

Undocumented

-initWithTTSChunks:

Undocumented

OBJECTIVE-C

- (instancetype)initWithTTS:(NSString *)ttsText;

SWIFT

init(tts ttsText: String)

ttsChunks

@abstract An array of TTSChunk structs which, taken together, specify the

phrase to be spoken

@discussion The total length of the phrase composed from the ttsChunks

provided must be less than 500 characters or the request will be rejected

Required, Array of SDLTTSChunk, Array size 1 - 100

SeeSDLTTSChunk

OBJECTIVE-C

- (instancetype)initWithTTSChunks:(NSArray<SDLTTSChunk *> *)ttsChunks;

SWIFT

init(ttsChunks: [SDLTTSChunk])

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<SDLTTSChunk *> *_Nonnull ttsChunks;

SDLStartTime Class Reference

Section Contents

• -initWithHours:minutes:seconds:• hours• minutes• seconds

Overview

Describes the hour, minute and second values used to set the media clock.

@since SDL 1.0

-initWithHours:minutes:seconds:

Undocumented

SWIFT

var ttsChunks: [SDLTTSChunk] { get set }

hours

@abstract The hour of the media clock

@discussion Some display types only support a max value of 19. If out of

range, it will be rejected.

Required, Integer, 0 - 59

OBJECTIVE-C

- (instancetype)initWithHours:(UInt8)hours minutes:(UInt8)minutes seconds:(UInt8)seconds;

SWIFT

init(hours: UInt8, minutes: UInt8, seconds: UInt8)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull hours;

minutes

@abstract The minute of the media clock

Required, Integer, 0 - 59

seconds

@abstract The second of the media clock

Required, Integer, 0 - 59

SWIFT

var hours: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull minutes;

SWIFT

var minutes: NSNumber & SDLInt { get set }

SDLStreamingMediaConfiguration ClassReference

Section Contents

• securityManagers• maximumDesiredEncryption• customVideoEncoderSettings• dataSource• window• rootViewController• carWindowRenderingType• enableForcedFramerateSync• -init

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull seconds;

SWIFT

var seconds: NSNumber & SDLInt { get set }

• -

initWithSecurityManagers:encryptionFlag:videoSettings:dataSource:window:• -

initWithSecurityManagers:encryptionFlag:videoSettings:dataSource:rootViewController:• -initWithSecurityManagers:• +secureConfigurationWithSecurityManagers:• +insecureConfiguration• +autostreamingInsecureConfigurationWithInitialViewController:• +autostreamingSecureConfigurationWithSecurityManagers:initialViewController:

Overview

Undocumented

securityManagers

Set security managers which could be used. This is primarily used with video

streaming applications to authenticate and perhaps encrypt traffic data.

maximumDesiredEncryption

What encryption level video/audio streaming should be. The default is

SDLStreamingEncryptionFlagAuthenticateAndEncrypt.

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSArray<Class<SDLSecurityType>> *securityManagers;

customVideoEncoderSettings

Properties to use for applications that utilize the video encoder for streaming.

See VTCompressionProperties.h for more details. For example, you can set

kVTCompressionPropertyKey_ExpectedFrameRate to set your framerate. Setting

the framerate this way will also set the framerate if you use CarWindow

automatic streaming.

Other properties you may want to try adjusting include

kVTCompressionPropertyKey_AverageBitRate and

kVTCompressionPropertyKey_DataRateLimits.

OBJECTIVE-C

@property (assign, readwrite, nonatomic) SDLStreamingEncryptionFlag maximumDesiredEncryption;

SWIFT

var maximumDesiredEncryption: SDLStreamingEncryptionFlag { get set }

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) NSDictionary<NSString *, id> *customVideoEncoderSettings;

dataSource

Usable to change run time video stream setup behavior. Only use this and

modify the results if you really know what you’re doing. The head unit defaults

are generally good.

window

Set the window your video streaming content is within.

Activates the haptic view parser when set. If the window contains UIView

based views, these will be discovered and automatically sent to the head unit if

it uses a haptic interface. Whether or not it supports the haptic interace, this

library will also use that information to attempt to return the touched view to

you in SDLTouchManagerDelegate .

Warning

SWIFT

var customVideoEncoderSettings: [String : Any]? { get set }

OBJECTIVE-C

@property (readwrite, nonatomic, nullable) id<SDLStreamingMediaManagerDataSource> dataSource;

Apps using views outside of the UIView heirarchy (such as OpenGL) are

currently unsupported. If you app uses partial views in the heirarchy, only those

views will be discovered. Your OpenGL views will not be discoverable to a haptic

interface head unit and you will have to manually make these views

discoverable via the SDLSendHapticData RPC request.

Warning

This is a weak property and it’s therefore your job to hold a strong reference to

this window.

rootViewController

Set the initial view controller your video streaming content is within.

Activates the haptic view parser and CarWindow systems when set. This library

will also use that information to attempt to return the touched view to you in

SDLTouchManagerDelegate .

Note

OBJECTIVE-C

@property (readwrite, nonatomic, nullable) UIWindow *window;

SWIFT

weak var window: UIWindow? { get set }

If you wish to alter this rootViewController while streaming via CarWindow,

you must set a new rootViewController on SDLStreamingMediaManager and

this will update both the haptic view parser and CarWindow.

Warning

Apps using views outside of the UIView heirarchy (such as OpenGL) are

currently unsupported. If you app uses partial views in the heirarchy, only those

views will be discovered. Your OpenGL views will not be discoverable to a haptic

interface head unit and you will have to manually make these views

discoverable via the SDLSendHapticData RPC request.

Warning

If the rootViewController is app UI and is set from the UIViewController class,

it should only be set after viewDidAppear:animated is called. Setting the

rootViewController in viewDidLoad or viewWillAppear:animated can cause

weird behavior when setting the new frame.

Warning

If setting the rootViewController when the app returns to the foreground, the

app should register for the UIApplicationDidBecomeActive notification and not

the UIApplicationWillEnterForeground notification. Setting the frame after a

notification from the latter can also cause weird behavior when setting the new

frame.

Warning

While viewDidLoad will fire, appearance methods will not.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) UIViewController *rootViewController;

carWindowRenderingType

Declares if CarWindow will use layer rendering or view rendering. Defaults to

layer rendering.

enableForcedFramerateSync

When YES, the StreamingMediaManager will run a CADisplayLink with the

framerate set to the video encoder settings

SWIFT

var rootViewController: UIViewController? { get set }

OBJECTIVE-C

@property (assign, readwrite, nonatomic) SDLCarWindowRenderingType carWindowRenderingType;

SWIFT

var carWindowRenderingType: SDLCarWindowRenderingType { get set }

kVTCompressionPropertyKey_ExpectedFrameRate. This then forces

TouchManager (and CarWindow, if used) to sync their callbacks to the

framerate. If using CarWindow, this must be YES. If NO, enableSyncedPanning

on SDLTouchManager will be set to NO. Defaults to YES.

-init

Create an insecure video streaming configuration. No security managers will be

provided and the encryption flag will be set to None. If you’d like custom video

encoder settings, you can set the property manually.

OBJECTIVE-C

@property (assign, readwrite, nonatomic) BOOL enableForcedFramerateSync;

SWIFT

var enableForcedFramerateSync: Bool { get set }

OBJECTIVE-C

- (nonnull instancetype)init;

The configuration

-

initWithSecurityManagers:encryptionFlag:videoSettings:dataSource:window:

Manually set all the properties to the streaming media configuration

SWIFT

init()

RETURN VALUE

OBJECTIVE-C

- (nonnull instancetype)initWithSecurityManagers: (nullable NSArray<Class<SDLSecurityType>> *)securityManagers encryptionFlag:(SDLStreamingEncryptionFlag)encryptionFlag videoSettings:(nullable NSDictionary<NSString *, id> *)videoSettings dataSource: (nullable id<SDLStreamingMediaManagerDataSource>)dataSource window:(nullable UIWindow *)window;

securityManagers

The security managers to use or nil for none.

encryptionFlag

The maximum encrpytion supported. If the connected head unit

supports less than set here, it will still connect, but if it supports more

than set here, it will not connect.

videoSettings

Custom video encoder settings to be used in video streaming.

window

The UIWindow you are running the content that is being streamed on,

to use for haptics if needed and possible (only works for UIViews)

The configuration

PARAMETERS

RETURN VALUE

-

initWithSecurityManagers:encryptionFlag:videoSettings:dataSource:rootViewCo

Manually set all the properties to the streaming media configuration

securityManagers

The security managers to use or nil for none.

encryptionFlag

The maximum encrpytion supported. If the connected head unit

supports less than set here, it will still connect, but if it supports more

than set here, it will not connect.

OBJECTIVE-C

- (nonnull instancetype)initWithSecurityManagers: (nullable NSArray<Class<SDLSecurityType>> *)securityManagers encryptionFlag:(SDLStreamingEncryptionFlag)encryptionFlag videoSettings:(nullable NSDictionary<NSString *, id> *)videoSettings dataSource: (nullable id<SDLStreamingMediaManagerDataSource>)dataSource rootViewController:(nullable UIViewController *)rootViewController;

PARAMETERS

videoSettings

Custom video encoder settings to be used in video streaming.

rootViewController

The UIViewController wih the content that is being streamed on, to use

for haptics if needed and possible (only works for UIViews)

The configuration

-initWithSecurityManagers:

Create a secure configuration for each of the security managers provided.

securityManagers

RETURN VALUE

OBJECTIVE-C

- (nonnull instancetype)initWithSecurityManagers: (nonnull NSArray<Class<SDLSecurityType>> *)securityManagers;

PARAMETERS

The security managers to be used. The encryption flag will be set to

AuthenticateAndEncrypt if any security managers are set.

The configuration

+secureConfigurationWithSecurityManagers:

Create a secure configuration for each of the security managers provided.

securityManagers

The security managers to be used. The encryption flag will be set to

AuthenticateAndEncrypt if any security managers are set.

RETURN VALUE

OBJECTIVE-C

+ (nonnull instancetype)secureConfigurationWithSecurityManagers: (nonnull NSArray<Class<SDLSecurityType>> *)securityManagers;

PARAMETERS

The configuration

+insecureConfiguration

Create an insecure video streaming configuration. No security managers will be

provided and the encryption flag will be set to None. If you’d like custom video

encoder settings, you can set the property manually. This is equivalent to init .

The configuration

+autostreamingInsecureConfigurationWithInitialViewController:

Create a CarWindow insecure configuration with a view controller

RETURN VALUE

OBJECTIVE-C

+ (nonnull instancetype)insecureConfiguration;

RETURN VALUE

initialViewController

The initial view controller that will be streamed

The configuration

OBJECTIVE-C

+ (nonnull instancetype)autostreamingInsecureConfigurationWithInitialViewController: (nonnull UIViewController *)initialViewController;

SWIFT

class func autostreamingInsecureConfiguration(withInitialViewController initialViewController: UIViewController) -> Self

PARAMETERS

RETURN VALUE

+autostreamingSecureConfigurationWithSecurityManagers:initialViewControlle

Create a CarWindow secure configuration with a view controller and security

managers

securityManagers

The security managers available for secure streaming use

initialViewController

The initial view controller that will be streamed, this can be a basic

UIViewController if you need to set your actual streaming view

controller at a later time on

SDLManager.streamingManager.rootViewController .

OBJECTIVE-C

+ (nonnull instancetype)autostreamingSecureConfigurationWithSecurityManagers: (nonnull NSArray<Class<SDLSecurityType>> *)securityManagers initialViewController: (nonnull UIViewController *) initialViewController;

PARAMETERS

The configuration

SDLStreamingMediaManager ClassReference

Section Contents

• touchManager• audioManager• rootViewController• focusableItemManager• streamingSupported• videoConnected• videoEncrypted• audioConnected• audioEncrypted• videoStreamingPaused• screenSize• videoFormat• supportedFormats• pixelBufferPool• requestedEncryptionType• -init• -initWithConnectionManager:configuration:• -startWithProtocol:• -stop• -sendVideoData:• -sendVideoData:presentationTimestamp:

RETURN VALUE

• -sendAudioData:

Overview

Undocumented

touchManager

Touch Manager responsible for providing touch event notifications.

audioManager

Undocumented

OBJECTIVE-C

@property (readonly, strong, nonatomic) SDLTouchManager *_Nonnull touchManager;

SWIFT

var touchManager: SDLTouchManager { get }

rootViewController

This property is used for SDLCarWindow, the ability to stream any view

controller. To start, you must set an initial view controller on

SDLStreamingMediaConfiguration rootViewController . After streaming

begins, you can replace that view controller with a new root by placing the new

view controller into this property.

OBJECTIVE-C

@property (nonatomic, strong, readonly) SDLAudioStreamManager *audioManager

SWIFT

var audioManager: SDLAudioStreamManager { get }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) UIViewController *_Nonnull rootViewController;

focusableItemManager

A haptic interface that can be updated to reparse views within the window

you’ve provided. Send a SDLDidUpdateProjectionView notification or call the

updateInterfaceLayout method to reparse. The “output” of this haptic

interface occurs in the touchManager property where it will call the delegate.

streamingSupported

Whether or not video streaming is supported

See

SWIFT

var rootViewController: UIViewController { get set }

OBJECTIVE-C

@property (readonly, strong, nonatomic, nullable) id<SDLFocusableItemLocatorType> focusableItemManager;

SDLRegisterAppInterface SDLDisplayCapabilities

videoConnected

Whether or not the video session is connected.

OBJECTIVE-C

@property (readonly, getter=isStreamingSupported, assign, nonatomic) BOOL streamingSupported;

SWIFT

var isStreamingSupported: Bool { get }

OBJECTIVE-C

@property (readonly, getter=isVideoConnected, assign, nonatomic) BOOL videoConnected;

videoEncrypted

Whether or not the video session is encrypted. This may be different than the

requestedEncryptionType.

audioConnected

Whether or not the audio session is connected.

SWIFT

var isVideoConnected: Bool { get }

OBJECTIVE-C

@property (readonly, getter=isVideoEncrypted, assign, nonatomic) BOOL videoEncrypted;

SWIFT

var isVideoEncrypted: Bool { get }

audioEncrypted

Whether or not the audio session is encrypted. This may be different than the

requestedEncryptionType.

OBJECTIVE-C

@property (readonly, getter=isAudioConnected, assign, nonatomic) BOOL audioConnected;

SWIFT

var isAudioConnected: Bool { get }

OBJECTIVE-C

@property (readonly, getter=isAudioEncrypted, assign, nonatomic) BOOL audioEncrypted;

videoStreamingPaused

Whether or not the video stream is paused due to either the application being

backgrounded, the HMI state being either NONE or BACKGROUND, or the video

stream not being ready.

SWIFT

var isAudioEncrypted: Bool { get }

OBJECTIVE-C

@property (readonly, getter=isVideoStreamingPaused, assign, nonatomic) BOOL videoStreamingPaused;

SWIFT

var isVideoStreamingPaused: Bool { get }

screenSize

This is the current screen size of a connected display. This will be the size the

video encoder uses to encode the raw image data.

videoFormat

This is the agreed upon format of video encoder that is in use, or nil if not

currently connected.

OBJECTIVE-C

@property (readonly, assign, nonatomic) CGSize screenSize;

SWIFT

var screenSize: CGSize { get }

OBJECTIVE-C

@property (readonly, strong, nonatomic, nullable) SDLVideoStreamingFormat *videoFormat;

supportedFormats

A list of all supported video formats by this manager

pixelBufferPool

The pixel buffer pool reference returned back from an active

VTCompressionSessionRef encoder.

WarningThis will only return a valid pixel buffer pool after the encoder has beeninitialized (when the video session has started). @discussion Clients may call

SWIFT

var videoFormat: SDLVideoStreamingFormat? { get }

OBJECTIVE-C

@property (readonly, strong, nonatomic) NSArray<SDLVideoStreamingFormat *> *_Nonnull supportedFormats;

SWIFT

var supportedFormats: [SDLVideoStreamingFormat] { get }

this once and retain the resulting pool, this call is cheap enough that it’s OK tocall it once per frame.

requestedEncryptionType

The requested encryption type when a session attempts to connect. This

setting applies to both video and audio sessions.

DEFAULT: SDLStreamingEncryptionFlagAuthenticateAndEncrypt

OBJECTIVE-C

@property (readonly, assign, nonatomic, nullable) CVPixelBufferPoolRef pixelBufferPool;

SWIFT

unowned(unsafe) var pixelBufferPool: CVPixelBufferPool? { get }

OBJECTIVE-C

@property (assign, readwrite, nonatomic) SDLStreamingEncryptionFlag requestedEncryptionType;

-init

Undocumented

-initWithConnectionManager:configuration:

Create a new streaming media manager for navigation and VPM apps with a

specified configuration

SWIFT

var requestedEncryptionType: SDLStreamingEncryptionFlag { get set }

OBJECTIVE-C

- (instancetype)init NS_UNAVAILABLE;

OBJECTIVE-C

- (nonnull instancetype)initWithConnectionManager: (nonnull id<SDLConnectionManagerType>)connectionManager configuration: (nonnull SDLStreamingMediaConfiguration *)configuration;

connectionManager

The pass-through for RPCs

configuration

The configuration of this streaming media session

A new streaming manager

-startWithProtocol:

Start the manager with a completion block that will be called when startup

completes. This is used internally. To use an SDLStreamingMediaManager, you

should use the manager found on SDLManager .

PARAMETERS

RETURN VALUE

OBJECTIVE-C

- (void)startWithProtocol:(nonnull SDLAbstractProtocol *)protocol;

-stop

Stop the manager. This method is used internally.

-sendVideoData:

This method receives raw image data and will run iOS8+‘s hardware video

encoder to turn the data into a video stream, which will then be passed to the

connected head unit.

SWIFT

func start(with protocol: SDLAbstractProtocol)

OBJECTIVE-C

- (void)stop;

SWIFT

func stop()

imageBuffer

A CVImageBufferRef to be encoded by Video Toolbox

Whether or not the data was successfully encoded and sent.

OBJECTIVE-C

- (BOOL)sendVideoData:(nonnull CVImageBufferRef)imageBuffer;

SWIFT

func sendVideoData(_ imageBuffer: CVImageBuffer) -> Bool

PARAMETERS

RETURN VALUE

-sendVideoData:presentationTimestamp:

This method receives raw image data and will run iOS8+‘s hardware video

encoder to turn the data into a video stream, which will then be passed to the

connected head unit.

imageBuffer

A CVImageBufferRef to be encoded by Video Toolbox

presentationTimestamp

OBJECTIVE-C

- (BOOL)sendVideoData:(nonnull CVImageBufferRef)imageBuffer presentationTimestamp:(CMTime)presentationTimestamp;

SWIFT

func sendVideoData(_ imageBuffer: CVImageBuffer, presentationTimestamp: CMTime) -> Bool

PARAMETERS

A presentation timestamp for the frame, or kCMTimeInvalid if

timestamp is unknown. If it’s valid, it must be greater than the previous

one.

Whether or not the data was successfully encoded and sent.

-sendAudioData:

This method receives PCM audio data and will attempt to send that data across

to the head unit for immediate playback

RETURN VALUE

OBJECTIVE-C

- (BOOL)sendAudioData:(nonnull NSData *)audioData;

SWIFT

func sendAudioData(_ audioData: Data) -> Bool

audioData

The data in PCM audio format, to be played

Whether or not the data was successfully sent.

SDLSubscribeButton Class Reference

Section Contents

• -initWithHandler:• -initWithButtonName:handler:• handler• buttonName

Overview

Establishes a subscription to button notifications for HMI buttons. Buttons are

not necessarily physical buttons, but can also be “soft” buttons on a touch

screen, depending on the display in the vehicle. Once subscribed to a particular

button, an application will receive both SDLOnButtonEvent and

SDLOnButtonPress notifications whenever that button is pressed. The

PARAMETERS

RETURN VALUE

application may also unsubscribe from notifications for a button by invoking the

SDLUnsubscribeButton operation

When a button is depressed, an SDLOnButtonEvent notification is sent to the

application with a ButtonEventMode of BUTTONDOWN. When that same button

is released, an SDLOnButtonEvent notification is sent to the application with a

ButtonEventMode of BUTTONUP

When the duration of a button depression (that is, time between depression

and release) is less than two seconds, an SDLOnButtonPress notification is sent

to the application (at the moment the button is released) with a

ButtonPressMode of SHORT. When the duration is two or more seconds, an

SDLOnButtonPress notification is sent to the application (at the moment the

two seconds have elapsed) with a ButtonPressMode of LONG

The purpose of SDLOnButtonPress notifications is to allow for programmatic

detection of long button presses similar to those used to store presets while

listening to the radio, for example

When a button is depressed and released, the sequence in which notifications

will be sent to the application is as follows:

For short presses:

• OnButtonEvent (ButtonEventMode = BUTTONDOWN)• OnButtonEvent (ButtonEventMode = BUTTONUP)• OnButtonPress (ButtonPressMode = SHORT)

For long presses:

• OnButtonEvent (ButtonEventMode = BUTTONDOWN)• OnButtonEvent (ButtonEventMode = BUTTONUP)• OnButtonPress (ButtonPressMode = LONG)

HMILevel needs to be FULL, LIMITED or BACKGROUND

Since SmartDeviceLink 1.0

See SDLUnsubscribeButton

-initWithHandler:

Construct a SDLSubscribeButton with a handler callback when an event occurs.

handler

A callback that will be called when a button event occurs for the

subscribed button.

An SDLSubscribeButton object

OBJECTIVE-C

- (nonnull instancetype)initWithHandler: (nullable SDLRPCButtonNotificationHandler)handler;

SWIFT

init(handler: SDLRPCButtonNotificationHandler? = nil)

PARAMETERS

RETURN VALUE

-initWithButtonName:handler:

Undocumented

handler

A handler that will let you know when the button you subscribed to is selected.

WarningThis will only work if you use SDLManager.

OBJECTIVE-C

- (instancetype)initWithButtonName:(SDLButtonName)buttonName handler:(nullable SDLRPCButtonNotificationHandler)handler;

SWIFT

init(buttonName: SDLButtonName, handler: SDLRPCButtonNotificationHandler? = nil)

OBJECTIVE-C

@property (readwrite, copy, nonatomic) SDLRPCButtonNotificationHandler _Nonnull handler;

buttonName

@abstract The name of the button to subscribe to @discussion An enum value,

see SDLButtonName

SWIFT

var handler: SDLRPCButtonNotificationHandler { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull buttonName;

SWIFT

var buttonName: SDLButtonName { get set }

SDLSubscribeVehicleData ClassReference

Section Contents

• -

initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clusterModeStatus:deviceStatus:• gps• speed• rpm• fuelLevel• fuelLevel_State• instantFuelConsumption• externalTemperature• prndl• tirePressure• odometer• beltStatus• bodyInformation• deviceStatus• driverBraking• wiperStatus• headLampStatus• engineTorque• accPedalPosition• steeringWheelAngle• eCallInfo• airbagStatus• emergencyEvent• clusterModeStatus

• myKey

Overview

Subscribes for specific published vehicle data items. The data will be only sent,

if it has changed. The application will be notified by the onVehicleData

notification whenever new data is available. The update rate is very much

dependent on sensors, vehicle architecture and vehicle type. Be also prepared

for the situation that a signal is not available on a vehicle

Function Group: Location, VehicleInfo and DrivingChara

HMILevel needs to be FULL, LIMITED or BACKGROUND

Since SmartDeviceLink 2.0

See SDLUnsubscribeVehicleData SDLGetVehicleData

-

initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clu

Undocumented

OBJECTIVE-C

- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus;

gps

@abstract A boolean value. If true, subscribes Gps data

SWIFT

init(accelerationPedalPosition: Bool, airbagStatus: Bool, beltStatus: Bool, bodyInformation: Bool, clusterModeStatus: Bool, deviceStatus: Bool, driverBraking: Bool, eCallInfo: Bool, emergencyEvent: Bool, engineTorque: Bool, externalTemperature: Bool, fuelLevel: Bool, fuelLevelState: Bool, gps: Bool, headLampStatus: Bool, instantFuelConsumption: Bool, myKey: Bool, odometer: Bool, prndl: Bool, rpm: Bool, speed: Bool, steeringWheelAngle: Bool, tirePressure: Bool, wiperStatus: Bool)

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *gps;

SWIFT

var gps: (NSNumber & SDLBool)? { get set }

speed

@abstract A boolean value. If true, subscribes speed data

rpm

@abstract A boolean value. If true, subscribes rpm data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *speed;

SWIFT

var speed: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *rpm;

fuelLevel

@abstract A boolean value. If true, subscribes FuelLevel data

fuelLevel_State

@abstract A boolean value. If true, subscribes fuelLevel_State data

SWIFT

var rpm: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *fuelLevel;

SWIFT

var fuelLevel: (NSNumber & SDLBool)? { get set }

instantFuelConsumption

@abstract A boolean value. If true, subscribes instantFuelConsumption data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *fuelLevel_State;

SWIFT

var fuelLevel_State: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *instantFuelConsumption;

SWIFT

var instantFuelConsumption: (NSNumber & SDLBool)? { get set }

externalTemperature

@abstract A boolean value. If true, subscribes externalTemperature data

prndl

@abstract A boolean value. If true, subscribes Currently selected gear data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *externalTemperature;

SWIFT

var externalTemperature: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *prndl;

tirePressure

@abstract A boolean value. If true, subscribes tire pressure status data

odometer

@abstract A boolean value. If true, subscribes odometer data

SWIFT

var prndl: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *tirePressure;

SWIFT

var tirePressure: (NSNumber & SDLBool)? { get set }

beltStatus

@abstract A boolean value. If true, subscribes belt Status data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *odometer;

SWIFT

var odometer: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *beltStatus;

SWIFT

var beltStatus: (NSNumber & SDLBool)? { get set }

bodyInformation

@abstract A boolean value. If true, subscribes body Information data

deviceStatus

@abstract A boolean value. If true, subscribes device Status data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *bodyInformation;

SWIFT

var bodyInformation: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *deviceStatus;

driverBraking

@abstract A boolean value. If true, subscribes driver Braking data

wiperStatus

@abstract A boolean value. If true, subscribes wiper Status data

SWIFT

var deviceStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *driverBraking;

SWIFT

var driverBraking: (NSNumber & SDLBool)? { get set }

headLampStatus

@abstract A boolean value. If true, subscribes Head Lamp Status data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *wiperStatus;

SWIFT

var wiperStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *headLampStatus;

SWIFT

var headLampStatus: (NSNumber & SDLBool)? { get set }

engineTorque

@abstract A boolean value. If true, subscribes Engine Torque data

accPedalPosition

@abstract A boolean value. If true, means the accPedalPosition data has been

subscribed.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *engineTorque;

SWIFT

var engineTorque: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *accPedalPosition;

steeringWheelAngle

@abstract A boolean value. If true, means the steeringWheelAngle data has

been subscribed.

eCallInfo

Undocumented

SWIFT

var accPedalPosition: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *steeringWheelAngle;

SWIFT

var steeringWheelAngle: (NSNumber & SDLBool)? { get set }

airbagStatus

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *eCallInfo

SWIFT

var eCallInfo: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *airbagStatus

SWIFT

var airbagStatus: (NSNumber & SDLBool)? { get set }

emergencyEvent

Undocumented

clusterModeStatus

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *emergencyEvent

SWIFT

var emergencyEvent: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *clusterModeStatus

myKey

Undocumented

SWIFT

var clusterModeStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *myKey

SWIFT

var myKey: (NSNumber & SDLBool)? { get set }

SDLSubscribeVehicleDataResponseClass Reference

Section Contents

• gps• speed• rpm• fuelLevel• fuelLevel_State• instantFuelConsumption• externalTemperature• prndl• tirePressure• odometer• beltStatus• bodyInformation• deviceStatus• driverBraking• wiperStatus• headLampStatus• engineTorque• accPedalPosition• steeringWheelAngle• eCallInfo• airbagStatus• emergencyEvent• clusterModes• myKey

Overview

Subscribe Vehicle Data Response is sent, when SDLSubscribeVehicleData has

been called

Since SmartDeviceLink 2.0

gps

@abstract A SDLVehicleDataResult* value. See GPSData.

speed

@abstract A SDLVehicleDataResult* value. The vehicle speed in kilometers per

hour.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *gps;

SWIFT

var gps: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *speed;

rpm

@abstract A SDLVehicleDataResult* value. The number of revolutions per

minute of the engine.

fuelLevel

@abstract A SDLVehicleDataResult* value. The fuel level in the tank

(percentage)

SWIFT

var speed: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *rpm;

SWIFT

var rpm: SDLVehicleDataResult? { get set }

fuelLevel_State

@abstract A SDLVehicleDataResult* value. The fuel level state.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel;

SWIFT

var fuelLevel: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel_State;

SWIFT

var fuelLevel_State: SDLVehicleDataResult? { get set }

instantFuelConsumption

@abstract A SDLVehicleDataResult* value. The instantaneous fuel consumption

in microlitres.

externalTemperature

@abstract A SDLVehicleDataResult* value. The external temperature in degrees

celsius.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *instantFuelConsumption;

SWIFT

var instantFuelConsumption: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *externalTemperature;

prndl

@abstract A SDLVehicleDataResult* value. See PRNDL.

tirePressure

@abstract A SDLVehicleDataResult* value. See TireStatus.

SWIFT

var externalTemperature: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *prndl;

SWIFT

var prndl: SDLVehicleDataResult? { get set }

odometer

@abstract A SDLVehicleDataResult* value. Odometer in km.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *tirePressure;

SWIFT

var tirePressure: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *odometer;

SWIFT

var odometer: SDLVehicleDataResult? { get set }

beltStatus

@abstract A SDLVehicleDataResult* value. The status of the seat belts.

bodyInformation

@abstract A SDLVehicleDataResult* value. The body information including

power modes.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *beltStatus;

SWIFT

var beltStatus: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *bodyInformation;

deviceStatus

@abstract A SDLVehicleDataResult* value. The device status including signal

and battery strength.

driverBraking

@abstract A SDLVehicleDataResult* value. The status of the brake pedal.

SWIFT

var bodyInformation: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *deviceStatus;

SWIFT

var deviceStatus: SDLVehicleDataResult? { get set }

wiperStatus

@abstract A SDLVehicleDataResult* value. The status of the wipers.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *driverBraking;

SWIFT

var driverBraking: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *wiperStatus;

SWIFT

var wiperStatus: SDLVehicleDataResult? { get set }

headLampStatus

@abstract A SDLVehicleDataResult* value. Status of the head lamps.

engineTorque

@abstract A SDLVehicleDataResult* value. Torque value for engine (in Nm) on

non-diesel variants.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *headLampStatus;

SWIFT

var headLampStatus: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *engineTorque;

accPedalPosition

@abstract A SDLVehicleDataResult* value. Accelerator pedal position

(percentage depressed)

steeringWheelAngle

@abstract A SDLVehicleDataResult* value. Current angle of the steering wheel

(in deg)

SWIFT

var engineTorque: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *accPedalPosition;

SWIFT

var accPedalPosition: SDLVehicleDataResult? { get set }

eCallInfo

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *steeringWheelAngle;

SWIFT

var steeringWheelAngle: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLVehicleDataResult *eCallInfo

SWIFT

var eCallInfo: SDLVehicleDataResult? { get set }

airbagStatus

Undocumented

emergencyEvent

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLVehicleDataResult *airbagStatus

SWIFT

var airbagStatus: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLVehicleDataResult *emergencyEvent

clusterModes

Undocumented

myKey

Undocumented

SWIFT

var emergencyEvent: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLVehicleDataResult *clusterModes

SWIFT

var clusterModes: SDLVehicleDataResult? { get set }

SDLSyncMsgVersion Class Reference

Section Contents

• -initWithMajorVersion:minorVersion:patchVersion:• majorVersion• minorVersion• patchVersion

Overview

Specifies the version number of the SDL V4 interface. This is used by both the

application and SDL to declare what interface version each is using.

@since SDL 1.0

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLVehicleDataResult *myKey

SWIFT

var myKey: SDLVehicleDataResult? { get set }

-initWithMajorVersion:minorVersion:patchVersion:

Undocumented

majorVersion

@abstract The major version indicates versions that is not-compatible to

previous versions

Required, Integer, 1 - 10

OBJECTIVE-C

- (instancetype)initWithMajorVersion:(UInt8)majorVersion minorVersion:(UInt8)minorVersion patchVersion:(UInt8)patchVersion;

SWIFT

init(majorVersion: UInt8, minorVersion: UInt8, patchVersion: UInt8)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull majorVersion;

minorVersion

@abstract The minor version indicates a change to a previous version that

should still allow to be run on an older version (with limited functionality)

Required, Integer, 0 - 1000

patchVersion

@abstract Optional, allows backward-compatible fixes to the API without

increasing the minor version of the interface

SWIFT

var majorVersion: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull minorVersion;

SWIFT

var minorVersion: NSNumber & SDLInt { get set }

SDLSystemCapability Class Reference

Section Contents

• -initWithNavigationCapability:• -initWithPhoneCapability:• -initWithVideoStreamingCapability:• -initWithRemoteControlCapability:• systemCapabilityType• navigationCapability• phoneCapability• videoStreamingCapability

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *patchVersion;

SWIFT

var patchVersion: (NSNumber & SDLInt)? { get set }

• remoteControlCapability

Overview

The systemCapabilityType indicates which type of data should be changed and

identifies which data object exists in this struct. For example, if the

SystemCapability Type is NAVIGATION then a “navigationCapability” should

exist.

• First implemented in SDL Core v4.4

-initWithNavigationCapability:

Undocumented

-initWithPhoneCapability:

Undocumented

OBJECTIVE-C

- (instancetype)initWithNavigationCapability:(SDLNavigationCapability *)capability;

SWIFT

init(navigationCapability capability: SDLNavigationCapability)

-initWithVideoStreamingCapability:

Undocumented

OBJECTIVE-C

- (instancetype)initWithPhoneCapability:(SDLPhoneCapability *)capability;

SWIFT

init(phoneCapability capability: SDLPhoneCapability)

OBJECTIVE-C

- (instancetype)initWithVideoStreamingCapability:(SDLVideoStreamingCapability *)capability;

SWIFT

init(videoStreamingCapability capability: SDLVideoStreamingCapability)

-initWithRemoteControlCapability:

Undocumented

systemCapabilityType

Undocumented

OBJECTIVE-C

- (instancetype)initWithRemoteControlCapability:(SDLRemoteControlCapabilities *)capability;

SWIFT

init(remoteControlCapability capability: SDLRemoteControlCapabilities)

OBJECTIVE-C

@property (strong, nonatomic) SDLSystemCapabilityType systemCapabilityType

navigationCapability

Undocumented

phoneCapability

Undocumented

SWIFT

var systemCapabilityType: SDLSystemCapabilityType { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLNavigationCapability *navigationCapability

SWIFT

var navigationCapability: SDLNavigationCapability? { get set }

videoStreamingCapability

Undocumented

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLPhoneCapability *phoneCapability

SWIFT

var phoneCapability: SDLPhoneCapability? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLVideoStreamingCapability *videoStreamingCapability

remoteControlCapability

Undocumented

SWIFT

var videoStreamingCapability: SDLVideoStreamingCapability? { get set }

OBJECTIVE-C

@property (nullable, strong, nonatomic) SDLRemoteControlCapabilities *remoteControlCapability

SWIFT

var remoteControlCapability: SDLRemoteControlCapabilities? { get set }

SDLTCPTransport Class Reference

Section Contents

• socket• hostName• portNumber

Overview

Undocumented

socket

Undocumented

hostName

Undocumented

OBJECTIVE-C

_Nullable CFSocketRef socket

portNumber

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSString *hostName

SWIFT

var hostName: String { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSString *portNumber

SWIFT

var portNumber: String { get set }

SDLTTSChunk Class Reference

Section Contents

• -initWithText:type:• +textChunksFromString:• +sapiChunksFromString:• +lhPlusChunksFromString:• +prerecordedChunksFromString:• +silenceChunks• text• type

Overview

Specifies what is to be spoken. This can be simply a text phrase, which SDL will

speak according to its own rules. It can also be phonemes from either the

Microsoft SAPI phoneme set, or from the LHPLUS phoneme set. It can also be a

pre-recorded sound in WAV format (either developer-defined, or provided by the

SDL platform).

In SDL, words, and therefore sentences, can be built up from phonemes and are

used to explicitly provide the proper pronounciation to the TTS engine. For

example, to have SDL pronounce the word “read” as “red”, rather than as when

it is pronounced like “reed”, the developer would use phonemes to express this

desired pronounciation.

For more information about phonemes, see http://en.wikipedia.org/wiki/

Phoneme.

Parameter List

Name Type DescriptionSmartDeviceLink Ver.Available

@since SmartDeviceLink 1.0

-initWithText:type:

Undocumented

text String

Text to be spoken,or a phonemespecification, orthe name of apre-recordedsound. Thecontents of thisfield are indicatedby the “type”field.

SmartDeviceLink 1.0

type SpeechCapabilities

Indicates the typeof information inthe “text” field(e.g. phrase to bespoken, phonemespecification,name of pre-recorded sound).

SmartDeviceLink 1.0

OBJECTIVE-C

- (instancetype)initWithText:(NSString *)text type:(SDLSpeechCapabilities)type;

SWIFT

init(text: String, type: SDLSpeechCapabilities)

+textChunksFromString:

Undocumented

+sapiChunksFromString:

Undocumented

OBJECTIVE-C

+ (NSArray<SDLTTSChunk *> *)textChunksFromString:(NSString *)string;

SWIFT

class func textChunks(from string: String) -> [SDLTTSChunk]

OBJECTIVE-C

+ (NSArray<SDLTTSChunk *> *)sapiChunksFromString:(NSString *)string;

+lhPlusChunksFromString:

Undocumented

+prerecordedChunksFromString:

Undocumented

SWIFT

class func sapiChunks(from string: String) -> [SDLTTSChunk]

OBJECTIVE-C

+ (NSArray<SDLTTSChunk *> *)lhPlusChunksFromString:(NSString *)string;

SWIFT

class func lhPlusChunks(from string: String) -> [SDLTTSChunk]

+silenceChunks

Undocumented

OBJECTIVE-C

+ (NSArray<SDLTTSChunk *> *)prerecordedChunksFromString:(NSString *)string;

SWIFT

class func prerecordedChunks(from string: String) -> [SDLTTSChunk]

OBJECTIVE-C

+ (NSArray<SDLTTSChunk *> *)silenceChunks;

SWIFT

class func silenceChunks() -> [SDLTTSChunk]

text

@abstract Text to be spoken, or a phoneme specification, or the name of a pre-

recorded sound. The contents of this field are indicated by the “type” field.

Required, Max length 500

type

@abstract The type of information in the “text” field (e.g. phrase to be spoken,

phoneme specification, name of pre-recorded sound).

Required

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSString *_Nonnull text;

SWIFT

var text: String { get set }

SDLTemperature Class Reference

Section Contents

• -initWithUnit:value:• unit• value

Overview

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLSpeechCapabilities _Nonnull type;

SWIFT

var type: SDLSpeechCapabilities { get set }

-initWithUnit:value:

Undocumented

unit

@abstract Temperature Unit

OBJECTIVE-C

- (instancetype)initWithUnit:(SDLTemperatureUnit)unit value:(float)value;

SWIFT

init(unit: SDLTemperatureUnit, value: Float)

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLTemperatureUnit _Nonnull unit;

value

@abstract Temperature Value in TemperatureUnit specified unit. Range depends

on OEM and is not checked by SDL

FLoat value

SWIFT

var unit: SDLTemperatureUnit { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull value;

SWIFT

var value: NSNumber & SDLFloat { get set }

SDLTextField Class Reference

Section Contents

• name• characterSet• width• rows

Overview

Struct defining the characteristics of a displayed field on the HMI.

Parameter List

Name Type DescriptionSmartDeviceLink Ver.Available

name TextFieldNameEnumerationidentifying thefield.

SDL 1.0

characterSet CharacterSetThe character setthat is supportedin this field.

SDL 1.0

width Int16

The number ofcharacters in onerow of this field.

• Minvalue

=“1”• maxvalu

e=“500”

SDL 1.0

rows Int16

The number ofrows for this textfield.

• Minvalue

=“1”• maxvalu

e=“3”

SDL 1.0

@since SDL 1.0

name

@abstract The enumeration identifying the field.

SeeSDLTextFieldName Required

characterSet

@abstract The character set that is supported in this field.

SeeSDLCharacterSet Required

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLTextFieldName _Nonnull name;

SWIFT

var name: SDLTextFieldName { get set }

width

@abstract The number of characters in one row of this field.

Required, Integer 1 - 500

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLCharacterSet _Nonnull characterSet;

SWIFT

var characterSet: SDLCharacterSet { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull width;

rows

@abstract The number of rows for this text field.

Required, Integer 1 - 8

SWIFT

var width: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull rows;

SWIFT

var rows: NSNumber & SDLInt { get set }

SDLTireStatus Class Reference

Section Contents

• pressureTelltale• leftFront• rightFront• leftRear• rightRear• innerLeftRear• innerRightRear

Overview

Undocumented

pressureTelltale

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLWarningLightStatus pressureTelltale

leftFront

Undocumented

rightFront

Undocumented

SWIFT

var pressureTelltale: SDLWarningLightStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLSingleTireStatus *leftFront

SWIFT

var leftFront: SDLSingleTireStatus { get set }

leftRear

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLSingleTireStatus *rightFront

SWIFT

var rightFront: SDLSingleTireStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLSingleTireStatus *leftRear

SWIFT

var leftRear: SDLSingleTireStatus { get set }

rightRear

Undocumented

innerLeftRear

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) SDLSingleTireStatus *rightRear

SWIFT

var rightRear: SDLSingleTireStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLSingleTireStatus *innerLeftRear

innerRightRear

Undocumented

SWIFT

var innerLeftRear: SDLSingleTireStatus { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLSingleTireStatus *innerRightRear

SWIFT

var innerRightRear: SDLSingleTireStatus { get set }

SDLTouch Class Reference

Section Contents

• -initWithTouchEvent:• identifier• location• timeStamp• isFirstFinger• isSecondFinger

Overview

Undocumented

-initWithTouchEvent:

@abstract Initializes a touch.

OBJECTIVE-C

- (nonnull instancetype)initWithTouchEvent:(nonnull SDLTouchEvent *)touchEvent;

touchEvent

Incoming touch event from onOnTouchEvent notification.

SDLTouch Instance of SDLTouch.

identifier

@abstract Identifier of the touch’s finger. Refer to SDLTouchIdentifier for valid

identifiers.

SWIFT

init(touchEvent: SDLTouchEvent)

PARAMETERS

RETURN VALUE

OBJECTIVE-C

@property (readonly, assign, nonatomic) NSInteger identifier;

location

@abstract Location of touch point, in the head unit’s coordinate system.

timeStamp

@abstract Timestamp in which the touch occured.

SWIFT

var identifier: Int { get }

OBJECTIVE-C

@property (readonly, assign, nonatomic) CGPoint location;

SWIFT

var location: CGPoint { get }

isFirstFinger

@abstract Returns whether or not this touch is a first finger.

OBJECTIVE-C

@property (readonly, assign, nonatomic) NSUInteger timeStamp;

SWIFT

var timeStamp: UInt { get }

OBJECTIVE-C

@property (readonly, assign, nonatomic) BOOL isFirstFinger;

SWIFT

var isFirstFinger: Bool { get }

isSecondFinger

@abstract Returns whether or not this touch is a second finger.

SDLTouchCoord Class Reference

Section Contents

• x• y

Overview

Undocumented

OBJECTIVE-C

@property (readonly, assign, nonatomic) BOOL isSecondFinger;

SWIFT

var isSecondFinger: Bool { get }

x

Undocumented

y

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLFloat> *x

SWIFT

var x: NSNumber & SDLFloat { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLFloat> *y

SDLTouchEvent Class Reference

Section Contents

• touchEventId• timeStamp• coord

Overview

Undocumented

touchEventId

A touch’s unique identifier. The application can track the current touch events

by id. If a touch event has type begin, the id should be added to the set of

touches. If a touch event has type end, the id should be removed from the set

of touches.

Mandatory, 0-9

SWIFT

var y: NSNumber & SDLFloat { get set }

timeStamp

The time that the touch was recorded. This number can the time since the

beginning of the session or something else as long as the units are in

milliseconds.

The timestamp is used to determined the rate of change of position of a touch.

The application also uses the time to verify whether two touches, with different

ids, are part of a single action by the user.

If there is only a single timestamp in this array, it is the same for every

coordinate in the coordinates array.

Mandatory, array size 1-1000, contains size 0-5000000000

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull touchEventId;

SWIFT

var touchEventId: NSNumber & SDLInt { get set }

coord

Mandatory, array size 1-1000, contains SDLTouchCoord

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<NSNumber<SDLInt> *> *_Nonnull timeStamp;

SWIFT

var timeStamp: [NSNumber & SDLInt] { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) NSArray<SDLTouchCoord *> *_Nonnull coord;

SWIFT

var coord: [SDLTouchCoord] { get set }

SDLTouchEventCapabilities ClassReference

Section Contents

• pressAvailable• multiTouchAvailable• doublePressAvailable

Overview

Undocumented

pressAvailable

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLBool> *pressAvailable

SWIFT

var pressAvailable: NSNumber & SDLBool { get set }

multiTouchAvailable

Undocumented

doublePressAvailable

Undocumented

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLBool> *multiTouchAvailable

SWIFT

var multiTouchAvailable: NSNumber & SDLBool { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLBool> *doublePressAvailable

SDLTouchManager Class Reference

Section Contents

• touchEventDelegate• touchEventHandler• tapDistanceThreshold• tapTimeThreshold• movementTimeThreshold• enableSyncedPanning• touchEnabled• -cancelPendingTouches• -init• -initWithHitTester:• -syncFrame

Overview

Undocumented

touchEventDelegate

Notified of processed touches such as pinches, pans, and taps

SWIFT

var doublePressAvailable: NSNumber & SDLBool { get set }

touchEventHandler

@abstract Returns all OnTouchEvent notifications as SDLTouch and

SDLTouchType objects.

tapDistanceThreshold

Distance between two taps on the screen, in the head unit’s coordinate system,

used for registering double-tap callbacks.

OBJECTIVE-C

@property (readwrite, nonatomic, nullable) id<SDLTouchManagerDelegate> touchEventDelegate;

OBJECTIVE-C

@property (readwrite, copy, nonatomic, nullable) SDLTouchEventHandler touchEventHandler;

SWIFT

var touchEventHandler: SDLTouchEventHandler? { get set }

NoteDefaults to 50 px.

tapTimeThreshold

@abstract Time (in seconds) between tap events to register a double-tap

callback. @remark Default is 0.4 seconds.

OBJECTIVE-C

@property (assign, readwrite, nonatomic) CGFloat tapDistanceThreshold;

SWIFT

var tapDistanceThreshold: CGFloat { get set }

OBJECTIVE-C

@property (assign, readwrite, nonatomic) CGFloat tapTimeThreshold;

movementTimeThreshold

@abstract Time (in seconds) between movement events to register panning or

pinching callbacks. @remark Default is 0.05 seconds.

enableSyncedPanning

If set to NO, the display link syncing will be ignored and

movementTimeThreshold will be used. Defaults to YES.

SWIFT

var tapTimeThreshold: CGFloat { get set }

OBJECTIVE-C

@property (assign, readwrite, nonatomic) CGFloat movementTimeThreshold;

SWIFT

var movementTimeThreshold: CGFloat { get set }

touchEnabled

@abstract Boolean denoting whether or not the touch manager should deliver

touch event callbacks. @remark Default is true.

OBJECTIVE-C

@property (assign, readwrite, nonatomic) BOOL enableSyncedPanning;

SWIFT

var enableSyncedPanning: Bool { get set }

OBJECTIVE-C

@property (getter=isTouchEnabled, assign, readwrite, nonatomic) BOOL touchEnabled;

SWIFT

var isTouchEnabled: Bool { get set }

-cancelPendingTouches

@abstract Cancels pending touch event timers that may be in progress.

@remark Currently only impacts the timer used to register single taps.

-init

Undocumented

OBJECTIVE-C

- (void)cancelPendingTouches;

SWIFT

func cancelPendingTouches()

OBJECTIVE-C

- (instancetype)init NS_UNAVAILABLE;

-initWithHitTester:

Initialize a touch manager with a hit tester if available

hitTester

The hit tester to be used to correlate a point with a view

The initialized touch manager

-syncFrame

Called by SDLStreamingMediaManager in sync with the streaming framerate.

This helps to moderate panning gestures by allowing the UI to be modified in

time with the framerate.

OBJECTIVE-C

- (nonnull instancetype)initWithHitTester: (nullable id<SDLFocusableItemHitTester>)hitTester;

PARAMETERS

RETURN VALUE

SDLTurn Class Reference

Section Contents

• -initWithNavigationText:turnIcon:• navigationText• turnIcon

Overview

Undocumented

-initWithNavigationText:turnIcon:

Undocumented

OBJECTIVE-C

- (void)syncFrame;

SWIFT

func syncFrame()

navigationText

Undocumented

OBJECTIVE-C

- (instancetype)initWithNavigationText:(nullable NSString *)navigationText turnIcon:(nullable SDLImage *)icon;

SWIFT

init(navigationText: String?, turnIcon icon: SDLImage?)

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSString *navigationText

SWIFT

var navigationText: String? { get set }

turnIcon

Undocumented

SDLUnsubscribeButton Class Reference

Section Contents

• -initWithButtonName:• buttonName

Overview

Deletes a subscription to button notifications for the specified button. For more

information about button subscriptions, see SDLSubscribeButton

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLImage *turnIcon

SWIFT

var turnIcon: SDLImage? { get set }

Application can unsubscribe from a button that is currently being pressed (i.e.

has not yet been released), but app will not get button event

HMILevel needs to be FULL, LIMITED or BACKGROUND

@since SmartDeviceLink 1.0

See SDLSubscribeButton

-initWithButtonName:

Undocumented

buttonName

@abstract A name of the button to unsubscribe from @discussion An

Enumeration value, see SDLButtonName

OBJECTIVE-C

- (instancetype)initWithButtonName:(SDLButtonName)buttonName;

SWIFT

init(buttonName: SDLButtonName)

SDLUnsubscribeVehicleData ClassReference

Section Contents

• -

initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clusterModeStatus:deviceStatus:• gps• speed• rpm• fuelLevel• fuelLevel_State• instantFuelConsumption• externalTemperature• prndl

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull buttonName;

SWIFT

var buttonName: SDLButtonName { get set }

• tirePressure• odometer• beltStatus• bodyInformation• deviceStatus• driverBraking• wiperStatus• headLampStatus• engineTorque• accPedalPosition• steeringWheelAngle• eCallInfo• airbagStatus• emergencyEvent• clusterModeStatus• myKey

Overview

This function is used to unsubscribe the notifications from the

subscribeVehicleData function

Function Group: Location, VehicleInfo and DrivingChara

HMILevel needs to be FULL, LIMITED or BACKGROUND

@since SmartDeviceLink 2.0

See SDLSubscribeVehicleData SDLGetVehicleData

-

initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clu

Undocumented

gps

@abstract A boolean value. If true, unsubscribes Gps data

OBJECTIVE-C

- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus;

SWIFT

init(accelerationPedalPosition: Bool, airbagStatus: Bool, beltStatus: Bool, bodyInformation: Bool, clusterModeStatus: Bool, deviceStatus: Bool, driverBraking: Bool, eCallInfo: Bool, emergencyEvent: Bool, engineTorque: Bool, externalTemperature: Bool, fuelLevel: Bool, fuelLevelState: Bool, gps: Bool, headLampStatus: Bool, instantFuelConsumption: Bool, myKey: Bool, odometer: Bool, prndl: Bool, rpm: Bool, speed: Bool, steeringWheelAngle: Bool, tirePressure: Bool, wiperStatus: Bool)

speed

@abstract A boolean value. If true, unsubscribes speed data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *gps;

SWIFT

var gps: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *speed;

SWIFT

var speed: (NSNumber & SDLBool)? { get set }

rpm

@abstract A boolean value. If true, unsubscribe data

fuelLevel

@abstract A boolean value. If true, unsubscribes FuelLevel data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *rpm;

SWIFT

var rpm: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *fuelLevel;

fuelLevel_State

@abstract A boolean value. If true, unsubscribes fuelLevel_State data

instantFuelConsumption

@abstract A boolean value. If true, unsubscribes instantFuelConsumption data

SWIFT

var fuelLevel: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *fuelLevel_State;

SWIFT

var fuelLevel_State: (NSNumber & SDLBool)? { get set }

externalTemperature

@abstract A boolean value. If true, unsubscribes externalTemperature data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *instantFuelConsumption;

SWIFT

var instantFuelConsumption: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *externalTemperature;

SWIFT

var externalTemperature: (NSNumber & SDLBool)? { get set }

prndl

@abstract A boolean value. If true, unsubscribes Currently selected gear data

tirePressure

@abstract A boolean value. If true, unsubscribes tire pressure status data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *prndl;

SWIFT

var prndl: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *tirePressure;

odometer

@abstract A boolean value. If true, unsubscribes odometer data

beltStatus

@abstract A boolean value. If true, unsubscribes belt Status data

SWIFT

var tirePressure: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *odometer;

SWIFT

var odometer: (NSNumber & SDLBool)? { get set }

bodyInformation

@abstract A boolean value. If true, unsubscribes body Information data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *beltStatus;

SWIFT

var beltStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *bodyInformation;

SWIFT

var bodyInformation: (NSNumber & SDLBool)? { get set }

deviceStatus

@abstract A boolean value. If true, unsubscribes device Status data

driverBraking

@abstract A boolean value. If true, unsubscribes driver Braking data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *deviceStatus;

SWIFT

var deviceStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *driverBraking;

wiperStatus

@abstract A boolean value. If true, unsubscribes wiper Status data

headLampStatus

@abstract A boolean value. If true, unsubscribes Head Lamp Status data

SWIFT

var driverBraking: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *wiperStatus;

SWIFT

var wiperStatus: (NSNumber & SDLBool)? { get set }

engineTorque

@abstract A boolean value. If true, unsubscribes Engine Torque data

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *headLampStatus;

SWIFT

var headLampStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *engineTorque;

SWIFT

var engineTorque: (NSNumber & SDLBool)? { get set }

accPedalPosition

@abstract A boolean value. If true, unsubscribes accPedalPosition data

steeringWheelAngle

Undocumented

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *accPedalPosition;

SWIFT

var accPedalPosition: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *steeringWheelAngle

eCallInfo

Undocumented

airbagStatus

Undocumented

SWIFT

var steeringWheelAngle: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *eCallInfo

SWIFT

var eCallInfo: (NSNumber & SDLBool)? { get set }

emergencyEvent

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *airbagStatus

SWIFT

var airbagStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *emergencyEvent

SWIFT

var emergencyEvent: (NSNumber & SDLBool)? { get set }

clusterModeStatus

Undocumented

myKey

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *clusterModeStatus

SWIFT

var clusterModeStatus: (NSNumber & SDLBool)? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) NSNumber<SDLBool> *myKey

SDLUnsubscribeVehicleDataResponseClass Reference

Section Contents

• gps• speed• rpm• fuelLevel• fuelLevel_State• instantFuelConsumption• externalTemperature• prndl• tirePressure• odometer• beltStatus• bodyInformation• deviceStatus• driverBraking• wiperStatus• headLampStatus• engineTorque• accPedalPosition• steeringWheelAngle

SWIFT

var myKey: (NSNumber & SDLBool)? { get set }

• eCallInfo• airbagStatus• emergencyEvent• clusterModes• myKey

Overview

Unsubscribe Vehicle Data Response is sent, when UnsubscribeVehicleData has

been called

@since SmartDeviceLink 2.0

gps

@abstract A SDLVehicleDataResult* value. See GPSData.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *gps;

SWIFT

var gps: SDLVehicleDataResult? { get set }

speed

@abstract A SDLVehicleDataResult* value. The vehicle speed in kilometers per

hour.

rpm

@abstract A SDLVehicleDataResult* value. The number of revolutions per

minute of the engine.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *speed;

SWIFT

var speed: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *rpm;

fuelLevel

@abstract A SDLVehicleDataResult* value. The fuel level in the tank

(percentage)

fuelLevel_State

@abstract A SDLVehicleDataResult* value. The fuel level state.

SWIFT

var rpm: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel;

SWIFT

var fuelLevel: SDLVehicleDataResult? { get set }

instantFuelConsumption

@abstract A SDLVehicleDataResult* value. The instantaneous fuel consumption

in microlitres.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel_State;

SWIFT

var fuelLevel_State: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *instantFuelConsumption;

externalTemperature

@abstract A SDLVehicleDataResult* value. The external temperature in degrees

celsius.

prndl

@abstract A SDLVehicleDataResult* value. See PRNDL.

SWIFT

var instantFuelConsumption: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *externalTemperature;

SWIFT

var externalTemperature: SDLVehicleDataResult? { get set }

tirePressure

@abstract A SDLVehicleDataResult* value. See TireStatus.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *prndl;

SWIFT

var prndl: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *tirePressure;

SWIFT

var tirePressure: SDLVehicleDataResult? { get set }

odometer

@abstract A SDLVehicleDataResult* value. Odometer in km.

beltStatus

@abstract A SDLVehicleDataResult* value. The status of the seat belts.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *odometer;

SWIFT

var odometer: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *beltStatus;

bodyInformation

@abstract A SDLVehicleDataResult* value. The body information including

power modes.

deviceStatus

@abstract A SDLVehicleDataResult* value. The device status including signal

and battery strength.

SWIFT

var beltStatus: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *bodyInformation;

SWIFT

var bodyInformation: SDLVehicleDataResult? { get set }

driverBraking

@abstract A SDLVehicleDataResult* value. The status of the brake pedal.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *deviceStatus;

SWIFT

var deviceStatus: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *driverBraking;

SWIFT

var driverBraking: SDLVehicleDataResult? { get set }

wiperStatus

@abstract A SDLVehicleDataResult* value. The status of the wipers.

headLampStatus

@abstract A SDLVehicleDataResult* value. Status of the head lamps.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *wiperStatus;

SWIFT

var wiperStatus: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *headLampStatus;

engineTorque

@abstract A SDLVehicleDataResult* value. Torque value for engine (in Nm) on

non-diesel variants.

accPedalPosition

@abstract A SDLVehicleDataResult* value. Accelerator pedal position

(percentage depressed)

SWIFT

var headLampStatus: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *engineTorque;

SWIFT

var engineTorque: SDLVehicleDataResult? { get set }

steeringWheelAngle

@abstract A SDLVehicleDataResult* value. Current angle of the steering wheel

(in deg)

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *accPedalPosition;

SWIFT

var accPedalPosition: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *steeringWheelAngle;

eCallInfo

Undocumented

airbagStatus

Undocumented

SWIFT

var steeringWheelAngle: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLVehicleDataResult *eCallInfo

SWIFT

var eCallInfo: SDLVehicleDataResult? { get set }

emergencyEvent

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLVehicleDataResult *airbagStatus

SWIFT

var airbagStatus: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLVehicleDataResult *emergencyEvent

SWIFT

var emergencyEvent: SDLVehicleDataResult? { get set }

clusterModes

Undocumented

myKey

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLVehicleDataResult *clusterModes

SWIFT

var clusterModes: SDLVehicleDataResult? { get set }

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLVehicleDataResult *myKey

SDLUpdateTurnList Class Reference

Section Contents

• -initWithTurnList:softButtons:• turnList• softButtons

Overview

Updates the list of next maneuvers, which can be requested by the user

pressing the softbutton

• “Turns” on the Navigation base screen. Three softbuttons are predefined

by the system: Up, Down, Close. *• @since SmartDeviceLink 2.0

-initWithTurnList:softButtons:

Undocumented

SWIFT

var myKey: SDLVehicleDataResult? { get set }

turnList

Optional, SDLTurn, 1 - 100 entries

OBJECTIVE-C

- (instancetype)initWithTurnList:(nullable NSArray<SDLTurn *> *)turnList softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;

SWIFT

init(turnList: [SDLTurn]?, softButtons: [SDLSoftButton]?)

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTurn *> *turnList;

SWIFT

var turnList: [SDLTurn]? { get set }

softButtons

Required, SDLSoftButton, 0 - 1 Entries

SDLVRHelpItem Class Reference

Section Contents

• -initWithText:image:• -initWithText:image:position:• text• image• position

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLSoftButton *> *softButtons;

SWIFT

var softButtons: [SDLSoftButton]? { get set }

Overview

Undocumented

-initWithText:image:

Undocumented

-initWithText:image:position:

Undocumented

OBJECTIVE-C

- (instancetype)initWithText:(NSString *)text image:(nullable SDLImage *)image;

SWIFT

init(text: String, image: SDLImage?)

text

Undocumented

OBJECTIVE-C

- (instancetype)initWithText:(NSString *)text image:(nullable SDLImage *)image position:(UInt8)position;

SWIFT

init(text: String, image: SDLImage?, position: UInt8)

OBJECTIVE-C

@property (strong, nonatomic) NSString *text

SWIFT

var text: String { get set }

image

Undocumented

position

Undocumented

OBJECTIVE-C

@property (strong, nonatomic, nullable) SDLImage *image

SWIFT

var image: SDLImage? { get set }

OBJECTIVE-C

@property (strong, nonatomic) NSNumber<SDLInt> *position

SDLVehicleDataResult Class Reference

Section Contents

• dataType• resultCode

Overview

Undocumented

dataType

Undocumented

SWIFT

var position: NSNumber & SDLInt { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataType dataType

resultCode

Undocumented

SWIFT

var dataType: SDLVehicleDataType { get set }

OBJECTIVE-C

@property (strong, nonatomic) SDLVehicleDataResultCode resultCode

SWIFT

var resultCode: SDLVehicleDataResultCode { get set }

SDLVehicleType Class Reference

Section Contents

• make• model• modelYear• trim

Overview

Describes the type of vehicle the mobile phone is connected with.

@since SDL 2.0

make

@abstract The make of the vehicle

@discussion For example, “Ford”, “Lincoln”, etc.

Optional, Max String length 500 chars

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *make;

model

@abstract The model of the vehicle

@discussion For example, “Fiesta”, “Focus”, etc.

Optional, Max String length 500 chars

modelYear

@abstract The model year of the vehicle

SWIFT

var make: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *model;

SWIFT

var model: String? { get set }

@discussion For example, “2013”

Optional, Max String length 500 chars

trim

@abstract The trim of the vehicle

@discussion For example, “SE”, “SEL”

Optional, Max String length 500 chars

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *modelYear;

SWIFT

var modelYear: String? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSString *trim;

SDLVideoStreamingCapability ClassReference

Section Contents

• -

initWithPreferredResolution:maxBitrate:supportedFormats:hapticDataSupported:• preferredResolution• maxBitrate• supportedFormats• hapticSpatialDataSupported

Overview

Undocumented

-

initWithPreferredResolution:maxBitrate:supportedFormats:hapticDataSupporte

Undocumented

SWIFT

var trim: String? { get set }

preferredResolution

@abstract The preferred resolution of a video stream for decoding and

rendering on HMI, optional

OBJECTIVE-C

- (instancetype)initWithPreferredResolution:(nullable SDLImageResolution *)preferredResolution maxBitrate:(int32_t)maxBitrate supportedFormats:(nullable NSArray<SDLVideoStreamingFormat *> *)supportedFormats hapticDataSupported:(BOOL)hapticDataSupported;

SWIFT

init(preferredResolution: SDLImageResolution?, maxBitrate: Int32, supportedFormats: [SDLVideoStreamingFormat]?, hapticDataSupported: Bool)

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) SDLImageResolution *preferredResolution;

maxBitrate

@abstract The maximum bitrate of video stream that is supported, in kbps,

optional

minvalue= 0

maxvalue= 2147483647

SWIFT

var preferredResolution: SDLImageResolution? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *maxBitrate;

SWIFT

var maxBitrate: (NSNumber & SDLInt)? { get set }

supportedFormats

@abstract Detailed information on each format supported by this system, in its

preferred order, optional

hapticSpatialDataSupported

True if the system can utilize the haptic spatial data from the source being

streamed.

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSArray<SDLVideoStreamingFormat *> *supportedFormats;

SWIFT

var supportedFormats: [SDLVideoStreamingFormat]? { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *hapticSpatialDataSupported;

SDLVideoStreamingFormat ClassReference

Section Contents

• protocol• codec• -initWithCodec:protocol:

Overview

Undocumented

protocol

@abstract Protocol type, see VideoStreamingProtocol, mandatory

SWIFT

var hapticSpatialDataSupported: (NSNumber & SDLBool)? { get set }

codec

@abstract Codec type, see VideoStreamingCodec, mandatory

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLVideoStreamingProtocol _Nonnull protocol;

SWIFT

var `protocol`: SDLVideoStreamingProtocol { get set }

OBJECTIVE-C

@property (readwrite, strong, nonatomic) SDLVideoStreamingCodec _Nonnull codec;

SWIFT

var codec: SDLVideoStreamingCodec { get set }

-initWithCodec:protocol:

Undocumented

SDLArtworkImageFormat EnumerationReference

Section Contents

• SDLArtworkImageFormatPNG

OBJECTIVE-C

- (instancetype)initWithCodec:(SDLVideoStreamingCodec)codec protocol:(SDLVideoStreamingProtocol)protocol;

SWIFT

init(codec: SDLVideoStreamingCodec, protocol: SDLVideoStreamingProtocol)

• SDLArtworkImageFormatJPG

Overview

Undocumented

SDLArtworkImageFormatPNG

Undocumented

SDLArtworkImageFormatJPG

Undocumented

OBJECTIVE-C

SDLArtworkImageFormatPNG

SWIFT

case PNG = 0

OBJECTIVE-C

SDLArtworkImageFormatJPG

SDLAudioStreamManagerErrorEnumeration Reference

Section Contents

• SDLAudioStreamManagerErrorNotConnected• SDLAudioStreamManagerErrorNoQueuedAudio

Overview

Undocumented

SDLAudioStreamManagerErrorNotConnected

Undocumented

SWIFT

case JPG = 1

OBJECTIVE-C

SDLAudioStreamManagerErrorNotConnected = -1

SDLAudioStreamManagerErrorNoQueuedAudio

Undocumented

SWIFT

case notConnected = -1

OBJECTIVE-C

SDLAudioStreamManagerErrorNoQueuedAudio = -2

SWIFT

case noQueuedAudio = -2

SDLCarWindowRenderingTypeEnumeration Reference

Section Contents

• SDLCarWindowRenderingTypeLayer• SDLCarWindowRenderingTypeViewAfterScreenUpdates• SDLCarWindowRenderingTypeViewBeforeScreenUpdates

Overview

Undocumented

SDLCarWindowRenderingTypeLayer

Undocumented

OBJECTIVE-C

SDLCarWindowRenderingTypeLayer

SWIFT

case layer = 0

SDLCarWindowRenderingTypeViewAfterScreenUpdates

Undocumented

SDLCarWindowRenderingTypeViewBeforeScreenUpdates

Undocumented

OBJECTIVE-C

SDLCarWindowRenderingTypeViewAfterScreenUpdates

SWIFT

case viewAfterScreenUpdates = 1

OBJECTIVE-C

SDLCarWindowRenderingTypeViewBeforeScreenUpdates

SDLFileManagerError EnumerationReference

Section Contents

• SDLFileManagerErrorCannotOverwrite• SDLFileManagerErrorNoKnownFile• SDLFileManagerErrorUnableToStart• SDLFileManagerErrorUnableToUpload• SDLFileManagerErrorFileDoesNotExist• SDLFileManagerUploadCanceled• SDLFileManagerMultipleFileUploadTasksFailed• SDLFileManagerMultipleFileDeleteTasksFailed

Overview

Errors associated with the SDLFileManager class.

SDLFileManagerErrorCannotOverwrite

A file attempted to send, but a file with that name already exists on the remote

head unit, and the file was not configured to overwrite.

SWIFT

case viewBeforeScreenUpdates = 2

SDLFileManagerErrorNoKnownFile

A file was attempted to be accessed but it does not exist.

OBJECTIVE-C

SDLFileManagerErrorCannotOverwrite = -1

SWIFT

case errorCannotOverwrite = -1

OBJECTIVE-C

SDLFileManagerErrorNoKnownFile = -2

SWIFT

case errorNoKnownFile = -2

SDLFileManagerErrorUnableToStart

The file manager attempted to start but encountered an error.

SDLFileManagerErrorUnableToUpload

The file manager was unable to send this file.

OBJECTIVE-C

SDLFileManagerErrorUnableToStart = -3

SWIFT

case errorUnableToStart = -3

OBJECTIVE-C

SDLFileManagerErrorUnableToUpload = -4

SDLFileManagerErrorFileDoesNotExist

The file manager could not find the local file.

SDLFileManagerUploadCanceled

The file manager could not find the local file.

SWIFT

case errorUnableToUpload = -4

OBJECTIVE-C

SDLFileManagerErrorFileDoesNotExist = -5

SWIFT

case errorFileDoesNotExist = -5

SDLFileManagerMultipleFileUploadTasksFailed

The file manager could not find the local file.

OBJECTIVE-C

SDLFileManagerUploadCanceled = -6

SWIFT

case uploadCanceled = -6

OBJECTIVE-C

SDLFileManagerMultipleFileUploadTasksFailed = -7

SWIFT

case multipleFileUploadTasksFailed = -7

SDLFileManagerMultipleFileDeleteTasksFailed

The file manager could not find the local file.

SDLFrameInfo Enumeration Reference

Section Contents

• SDLFrameInfoHeartbeat• SDLFrameInfoStartService• SDLFrameInfoStartServiceACK• SDLFrameInfoStartServiceNACK• SDLFrameInfoEndService• SDLFrameInfoEndServiceACK• SDLFrameInfoEndServiceNACK• SDLFrameInfoServiceDataAck

OBJECTIVE-C

SDLFileManagerMultipleFileDeleteTasksFailed = -8

SWIFT

case multipleFileDeleteTasksFailed = -8

• SDLFrameInfoHeartbeatACK• SDLFrameInfoSingleFrame• SDLFrameInfoFirstFrame• SDLFrameInfoConsecutiveLastFrame

Overview

Undocumented

SDLFrameInfoHeartbeat

Undocumented

SDLFrameInfoStartService

Undocumented

OBJECTIVE-C

SDLFrameInfoHeartbeat = 0x00

SWIFT

case heartbeat = 0

SDLFrameInfoStartServiceACK

Undocumented

OBJECTIVE-C

SDLFrameInfoStartService = 0x01

SWIFT

case startService = 1

OBJECTIVE-C

SDLFrameInfoStartServiceACK = 0x02

SWIFT

case startServiceACK = 2

SDLFrameInfoStartServiceNACK

Undocumented

SDLFrameInfoEndService

Undocumented

OBJECTIVE-C

SDLFrameInfoStartServiceNACK = 0x03

SWIFT

case startServiceNACK = 3

OBJECTIVE-C

SDLFrameInfoEndService = 0x04

SDLFrameInfoEndServiceACK

Undocumented

SDLFrameInfoEndServiceNACK

Undocumented

SWIFT

case endService = 4

OBJECTIVE-C

SDLFrameInfoEndServiceACK = 0x05

SWIFT

case endServiceACK = 5

SDLFrameInfoServiceDataAck

Undocumented

OBJECTIVE-C

SDLFrameInfoEndServiceNACK = 0x06

SWIFT

case endServiceNACK = 6

OBJECTIVE-C

SDLFrameInfoServiceDataAck = 0xFE

SWIFT

case serviceDataAck = 254

SDLFrameInfoHeartbeatACK

Undocumented

SDLFrameInfoSingleFrame

Undocumented

OBJECTIVE-C

SDLFrameInfoHeartbeatACK = 0xFF

SWIFT

case heartbeatACK = 255

OBJECTIVE-C

SDLFrameInfoSingleFrame = 0x00

SDLFrameInfoFirstFrame

Undocumented

SDLFrameInfoConsecutiveLastFrame

Undocumented

SWIFT

static var singleFrame: SDLFrameInfo { get }

OBJECTIVE-C

SDLFrameInfoFirstFrame = 0x00

SWIFT

static var firstFrame: SDLFrameInfo { get }

SDLFrameType Enumeration Reference

Section Contents

• SDLFrameTypeControl• SDLFrameTypeSingle• SDLFrameTypeFirst• SDLFrameTypeConsecutive

Overview

Undocumented

OBJECTIVE-C

SDLFrameInfoConsecutiveLastFrame = 0x00

SWIFT

static var consecutiveLastFrame: SDLFrameInfo { get }

SDLFrameTypeControl

Undocumented

SDLFrameTypeSingle

Undocumented

OBJECTIVE-C

SDLFrameTypeControl = 0x00

SWIFT

case control = 0

OBJECTIVE-C

SDLFrameTypeSingle = 0x01

SDLFrameTypeFirst

Undocumented

SDLFrameTypeConsecutive

Undocumented

SWIFT

case single = 1

OBJECTIVE-C

SDLFrameTypeFirst = 0x02

SWIFT

case first = 2

SDLLogBytesDirection EnumerationReference

Section Contents

• SDLLogBytesDirectionTransmit• SDLLogBytesDirectionReceive

Overview

Undocumented

OBJECTIVE-C

SDLFrameTypeConsecutive = 0x03

SWIFT

case consecutive = 3

SDLLogBytesDirectionTransmit

Undocumented

SDLLogBytesDirectionReceive

Undocumented

OBJECTIVE-C

SDLLogBytesDirectionTransmit

SWIFT

case transmit = 0

OBJECTIVE-C

SDLLogBytesDirectionReceive

SDLLogFlag Enumeration Reference

Section Contents

• SDLLogFlagError• SDLLogFlagWarning• SDLLogFlagDebug• SDLLogFlagVerbose

Overview

Flags used for SDLLogLevel to provide correct enum values. This is purely for

internal use.

• SDLLogFlagVerbose: Verbose level logging• SDLLogFlagDebug: Debug level logging• SDLLogFlagWarning: Warning level logging• SDLLogFlagError: Error level logging.

SDLLogFlagError

Undocumented

SWIFT

case receive = 1

SDLLogFlagWarning

Undocumented

OBJECTIVE-C

SDLLogFlagError = 1 << 0

SWIFT

static var error: SDLLogFlag { get }

OBJECTIVE-C

SDLLogFlagWarning = 1 << 1

SWIFT

static var warning: SDLLogFlag { get }

SDLLogFlagDebug

Undocumented

SDLLogFlagVerbose

Undocumented

OBJECTIVE-C

SDLLogFlagDebug = 1 << 2

SWIFT

static var debug: SDLLogFlag { get }

OBJECTIVE-C

SDLLogFlagVerbose = 1 << 3

SDLLogFormatType EnumerationReference

Section Contents

• SDLLogFormatTypeSimple• SDLLogFormatTypeDefault• SDLLogFormatTypeDetailed

Overview

The output format of logs; how they will appear when printed out into a string.

• SDLLogFormatTypeSimple: A bare-bones log format: 01F53909:52:07:324

(SDL)Protocol – a random test i guess• SDLLogFormatTypeDefault: A middle detail default log format:

01F53909:52:07:324 (SDL)Protocol:SDLV2ProtocolHeader:25 – Some log

message• SDLLogFormatTypeDetailed: A very detailed log format: 01F

53909:52:07:324

DEBUG com.apple.main-thread:(SDL)Protocol:[SDLV2ProtocolHeader

parse:]:74 – Some log message

SWIFT

static var verbose: SDLLogFlag { get }

SDLLogFormatTypeSimple

Undocumented

SDLLogFormatTypeDefault

Undocumented

OBJECTIVE-C

SDLLogFormatTypeSimple

SWIFT

case simple = 0

OBJECTIVE-C

SDLLogFormatTypeDefault

SDLLogFormatTypeDetailed

Undocumented

SWIFT

case `default` = 1

OBJECTIVE-C

SDLLogFormatTypeDetailed

SWIFT

case detailed = 2

SDLLogLevel Enumeration Reference

Section Contents

• SDLLogLevelDefault• SDLLogLevelOff• SDLLogLevelError• SDLLogLevelWarning• SDLLogLevelDebug• SDLLogLevelVerbose

Overview

An enum describing a level of logging.

• SDLLogLevelDefault: This is used to describe that a “specific” logging will

instead use the global log level, for example, a module may use the global

log level instead of its own by specifying this level.• SDLLogLevelOff: This is used to describe a level that involves absolutely

no logs being output.• SDLLogLevelError: Only error level logs will be output.• SDLLogLevelWarning: Both error and warning level logs will be output.• SDLLogLevelDebug: Error, warning, and debug level logs will be output.

This level will never be output in RELEASE environments.• SDLLogLevelVerbose: All level logs will be output. This level will never be

output in RELEASE environments.

SDLLogLevelDefault

Undocumented

SDLLogLevelOff

Undocumented

OBJECTIVE-C

SDLLogLevelDefault = -1

SWIFT

case `default` = -1

OBJECTIVE-C

SDLLogLevelOff = 0

SWIFT

case off = 0

SDLLogLevelError

Undocumented

SDLLogLevelWarning

Undocumented

OBJECTIVE-C

SDLLogLevelError = SDLLogFlagError

SWIFT

case error = 1

OBJECTIVE-C

SDLLogLevelWarning = (SDLLogFlagError | SDLLogFlagWarning)

SDLLogLevelDebug

Undocumented

SDLLogLevelVerbose

Undocumented

SWIFT

case warning = 3

OBJECTIVE-C

SDLLogLevelDebug = (SDLLogFlagWarning | SDLLogFlagDebug)

SWIFT

case debug = 6

SDLManagerError EnumerationReference

Section Contents

• SDLManagerErrorRPCRequestFailed• SDLManagerErrorNotConnected• SDLManagerErrorNotReady• SDLManagerErrorUnknownRemoteError• SDLManagerErrorManagersFailedToStart• SDLManagerErrorRegistrationFailed

OBJECTIVE-C

SDLLogLevelVerbose = (SDLLogFlagDebug | SDLLogFlagVerbose)

SWIFT

case verbose = 12

• SDLManagerErrorRegistrationSuccessWithWarning

Overview

Errors associated with the SDLManager class.

SDLManagerErrorRPCRequestFailed

An RPC request failed to send.

SDLManagerErrorNotConnected

Some action was attempted that requires a connection to the remote head unit.

OBJECTIVE-C

SDLManagerErrorRPCRequestFailed = -1

SWIFT

case rpcRequestFailed = -1

OBJECTIVE-C

SDLManagerErrorNotConnected = -2

SDLManagerErrorNotReady

Some action was attempted before the ready state was reached.

SDLManagerErrorUnknownRemoteError

The remote system encountered an unknown error.

SWIFT

case notConnected = -2

OBJECTIVE-C

SDLManagerErrorNotReady = -3

SWIFT

case notReady = -3

SDLManagerErrorManagersFailedToStart

One or more of the sub-managers failed to start.

OBJECTIVE-C

SDLManagerErrorUnknownRemoteError = -4

SWIFT

case unknownRemoteError = -4

OBJECTIVE-C

SDLManagerErrorManagersFailedToStart = -5

SWIFT

case managersFailedToStart = -5

SDLManagerErrorRegistrationFailed

Registering with the remote system failed.

SDLManagerErrorRegistrationSuccessWithWarning

Registering with the remote system was successful, but had a warning.

OBJECTIVE-C

SDLManagerErrorRegistrationFailed = -6

SWIFT

case registrationFailed = -6

OBJECTIVE-C

SDLManagerErrorRegistrationSuccessWithWarning = -7

SDLPermissionGroupStatusEnumeration Reference

Section Contents

• SDLPermissionGroupStatusAllowed• SDLPermissionGroupStatusDisallowed• SDLPermissionGroupStatusMixed• SDLPermissionGroupStatusUnknown

Overview

The status of the group of RPCs permissions.

SDLPermissionGroupStatusAllowed

Every RPC in the group is currently allowed.

SWIFT

case registrationSuccessWithWarning = -7

SDLPermissionGroupStatusDisallowed

Every RPC in the group is currently disallowed.

OBJECTIVE-C

SDLPermissionGroupStatusAllowed

SWIFT

case allowed = 0

OBJECTIVE-C

SDLPermissionGroupStatusDisallowed

SWIFT

case disallowed = 1

SDLPermissionGroupStatusMixed

Some RPCs in the group are allowed and some disallowed.

SDLPermissionGroupStatusUnknown

The current status of the group is unknown.

OBJECTIVE-C

SDLPermissionGroupStatusMixed

SWIFT

case mixed = 2

OBJECTIVE-C

SDLPermissionGroupStatusUnknown

SDLPermissionGroupType EnumerationReference

Section Contents

• SDLPermissionGroupTypeAllAllowed• SDLPermissionGroupTypeAny

Overview

A permission group type which will be used to tell the system what type of

changes you want to be notified about for the group.

SDLPermissionGroupTypeAllAllowed

Be notified when all of the RPC in the group are allowed, or, when they all stop

being allowed in some sense, that is, when they were all allowed, and now they

are not.

SWIFT

case unknown = 3

SDLPermissionGroupTypeAny

Be notified when any change in availability occurs among the group.

OBJECTIVE-C

SDLPermissionGroupTypeAllAllowed

SWIFT

case allAllowed = 0

OBJECTIVE-C

SDLPermissionGroupTypeAny

SWIFT

case any = 1

SDLProtocolError EnumerationReference

Section Contents

• SDLProtocolErrorNoSecurityManager

Overview

Undocumented

SDLProtocolErrorNoSecurityManager

Undocumented

OBJECTIVE-C

SDLProtocolErrorNoSecurityManager

SWIFT

case noSecurityManager = 0

SDLRPCMessageType EnumerationReference

Section Contents

• SDLRPCMessageTypeRequest• SDLRPCMessageTypeResponse• SDLRPCMessageTypeNotification

Overview

Undocumented

SDLRPCMessageTypeRequest

Undocumented

OBJECTIVE-C

SDLRPCMessageTypeRequest = 0

SWIFT

case request = 0

SDLRPCMessageTypeResponse

Undocumented

SDLRPCMessageTypeNotification

Undocumented

OBJECTIVE-C

SDLRPCMessageTypeResponse

SWIFT

case response = 1

OBJECTIVE-C

SDLRPCMessageTypeNotification

SDLServiceType Enumeration Reference

Section Contents

• SDLServiceTypeControl• SDLServiceTypeRPC• SDLServiceTypeAudio• SDLServiceTypeVideo• SDLServiceTypeBulkData

Overview

Undocumented

SDLServiceTypeControl

Undocumented

SWIFT

case notification = 2

SDLServiceTypeRPC

Undocumented

OBJECTIVE-C

SDLServiceTypeControl = 0x00

SWIFT

case control = 0

OBJECTIVE-C

SDLServiceTypeRPC NS_SWIFT_NAME(rpc) = 0x07

SWIFT

case rpc = 7

SDLServiceTypeAudio

Undocumented

SDLServiceTypeVideo

Undocumented

OBJECTIVE-C

SDLServiceTypeAudio = 0x0A

SWIFT

case audio = 10

OBJECTIVE-C

SDLServiceTypeVideo = 0x0B

SDLServiceTypeBulkData

Undocumented

SWIFT

case video = 11

OBJECTIVE-C

SDLServiceTypeBulkData = 0x0F

SWIFT

case bulkData = 15

SDLStreamingEncryptionFlagEnumeration Reference

Section Contents

• SDLStreamingEncryptionFlagNone• SDLStreamingEncryptionFlagAuthenticateOnly• SDLStreamingEncryptionFlagAuthenticateAndEncrypt

Overview

Undocumented

SDLStreamingEncryptionFlagNone

Undocumented

OBJECTIVE-C

SDLStreamingEncryptionFlagNone

SWIFT

case none = 0

SDLStreamingEncryptionFlagAuthenticateOnly

Undocumented

SDLStreamingEncryptionFlagAuthenticateAndEncrypt

Undocumented

OBJECTIVE-C

SDLStreamingEncryptionFlagAuthenticateOnly

SWIFT

case authenticateOnly = 1

OBJECTIVE-C

SDLStreamingEncryptionFlagAuthenticateAndEncrypt

SDLAudioStreamManagerDelegateProtocol Reference

Section Contents

• -audioStreamManager:fileDidFinishPlaying:successfully:• -audioStreamManager:errorDidOccurForFile:error:

Overview

Undocumented

-

audioStreamManager:fileDidFinishPlaying:successfully:

Undocumented

SWIFT

case authenticateAndEncrypt = 2

-audioStreamManager:errorDidOccurForFile:error:

Undocumented

OBJECTIVE-C

- (void)audioStreamManager:(SDLAudioStreamManager *)audioManager fileDidFinishPlaying:(NSURL *)fileURL successfully:(BOOL)successfully;

SWIFT

func audioStreamManager(_ audioManager: SDLAudioStreamManager, fileDidFinishPlaying fileURL: URL, successfully: Bool)

OBJECTIVE-C

- (void)audioStreamManager:(SDLAudioStreamManager *)audioManager errorDidOccurForFile:(NSURL *)fileURL error:(NSError *)error;

SDLIAPSessionDelegate ProtocolReference

Section Contents

• -onSessionInitializationCompleteForSession:• -onSessionStreamsEnded:

Overview

Undocumented

-onSessionInitializationCompleteForSession:

Undocumented

SWIFT

func audioStreamManager(_ audioManager: SDLAudioStreamManager, errorDidOccurForFile fileURL: URL, error: Error)

-onSessionStreamsEnded:

Undocumented

OBJECTIVE-C

- (void)onSessionInitializationCompleteForSession:(SDLIAPSession *)session;

SWIFT

func onSessionInitializationComplete(for session: SDLIAPSession)

OBJECTIVE-C

- (void)onSessionStreamsEnded:(SDLIAPSession *)session;

SWIFT

func onSessionStreamsEnded(_ session: SDLIAPSession)

SDLLogTarget Protocol Reference

Section Contents

• +logger• -setupLogger• -logWithLog:formattedLog:• -teardownLogger

Overview

Undocumented

+logger

A simple convenience initializer to create the object. This should not start up

the logger.

OBJECTIVE-C

+ (nonnull id<SDLLogTarget>)logger;

SWIFT

static func logger() -> SDLLogTarget

An instance of the logger.

-setupLogger

A call to setup the logger in whatever manner it needs to do so.

Whether or not the logger set up correctly.

RETURN VALUE

OBJECTIVE-C

- (BOOL)setupLogger;

SWIFT

func setupLogger() -> Bool

RETURN VALUE

-logWithLog:formattedLog:

Log a particular log using the model and the formatted log message to the

target.

log

The log model, if you can log additional data, such as the log level, use

this

stringLog

The formatted message

OBJECTIVE-C

- (void)logWithLog:(nonnull SDLLogModel *)log formattedLog:(nonnull NSString *)stringLog;

SWIFT

func log(withLog log: SDLLogModel, formattedLog stringLog: String)

PARAMETERS

-teardownLogger

Undocumented

SDLManagerDelegate ProtocolReference

Section Contents

• -managerDidDisconnect• -hmiLevel:didChangeToLevel:• -audioStreamingState:didChangeToState:

OBJECTIVE-C

- (void)teardownLogger;

SWIFT

func teardownLogger()

• -systemContext:didChangeToContext:

Overview

Undocumented

-managerDidDisconnect

Called upon a disconnection from the remote system.

-hmiLevel:didChangeToLevel:

Called when the HMI level state of this application changes on the remote

system. This is equivalent to the application’s state changes in iOS such as

foreground, background, or closed.

OBJECTIVE-C

- (void)managerDidDisconnect;

SWIFT

func managerDidDisconnect()

oldLevel

The previous level which has now been left.

newLevel

The current level.

-audioStreamingState:didChangeToState:

Called when the audio streaming state of this application changes on the

remote system. This refers to when streaming audio is audible to the user.

OBJECTIVE-C

- (void)hmiLevel:(nonnull SDLHMILevel)oldLevel didChangeToLevel:(nonnull SDLHMILevel)newLevel;

SWIFT

func hmiLevel(_ oldLevel: SDLHMILevel, didChangeToLevel newLevel: SDLHMILevel)

PARAMETERS

oldState

The previous state which has now been left.

newState

OBJECTIVE-C

- (void)audioStreamingState:(nullable SDLAudioStreamingState)oldState didChangeToState:(nonnull SDLAudioStreamingState)newState;

SWIFT

optional func audioStreamingState(_ oldState: SDLAudioStreamingState?, didChangeToState newState: SDLAudioStreamingState)

PARAMETERS

The current state.

-systemContext:didChangeToContext:

Called when the system context of this application changes on the remote

system. This refers to whether or not a user-initiated interaction is in progress,

and if so, what it is.

oldContext

The previous context which has now been left.

newContext

OBJECTIVE-C

- (void)systemContext:(nullable SDLSystemContext)oldContext didChangeToContext:(nonnull SDLSystemContext)newContext;

SWIFT

optional func systemContext(_ oldContext: SDLSystemContext?, didChangeToContext newContext: SDLSystemContext)

PARAMETERS

The current context.

SDLProtocolListener Protocol Reference

Section Contents

• -handleProtocolStartServiceACKMessage:• -handleProtocolStartServiceNAKMessage:• -handleProtocolEndServiceACKMessage:• -handleProtocolEndServiceNAKMessage:• -handleHeartbeatForSession:• -handleHeartbeatACK• -onProtocolMessageReceived:• -onProtocolOpened• -onProtocolClosed• -onError:exception:

Overview

Undocumented

-handleProtocolStartServiceACKMessage:

Undocumented

OBJECTIVE-C

- (void)handleProtocolStartServiceACKMessage:(SDLProtocolMessage *)startServiceACK;

-handleProtocolStartServiceNAKMessage:

Undocumented

-handleProtocolEndServiceACKMessage:

Undocumented

SWIFT

optional func handleProtocolStartServiceACKMessage(_ startServiceACK: SDLProtocolMessage)

OBJECTIVE-C

- (void)handleProtocolStartServiceNAKMessage:(SDLProtocolMessage *)startServiceNAK;

SWIFT

optional func handleProtocolStartServiceNAKMessage(_ startServiceNAK: SDLProtocolMessage)

-handleProtocolEndServiceNAKMessage:

Undocumented

OBJECTIVE-C

- (void)handleProtocolEndServiceACKMessage:(SDLProtocolMessage *)endServiceACK;

SWIFT

optional func handleProtocolEndServiceACKMessage(_ endServiceACK: SDLProtocolMessage)

OBJECTIVE-C

- (void)handleProtocolEndServiceNAKMessage:(SDLProtocolMessage *)endServiceNAK;

-handleHeartbeatForSession:

Undocumented

-handleHeartbeatACK

Undocumented

SWIFT

optional func handleProtocolEndServiceNAKMessage(_ endServiceNAK: SDLProtocolMessage)

OBJECTIVE-C

- (void)handleHeartbeatForSession:(Byte)session;

SWIFT

optional func handleHeartbeat(forSession session: UInt8)

-onProtocolMessageReceived:

Undocumented

OBJECTIVE-C

- (void)handleHeartbeatACK;

SWIFT

optional func handleHeartbeatACK()

OBJECTIVE-C

- (void)onProtocolMessageReceived:(SDLProtocolMessage *)msg;

SWIFT

optional func onProtocolMessageReceived(_ msg: SDLProtocolMessage)

-onProtocolOpened

Undocumented

-onProtocolClosed

Undocumented

OBJECTIVE-C

- (void)onProtocolOpened;

SWIFT

optional func onProtocolOpened()

OBJECTIVE-C

- (void)onProtocolClosed;

-onError:exception:

Undocumented

SWIFT

optional func onProtocolClosed()

OBJECTIVE-C

- (void)onError:(NSString *)info exception:(NSException *)e;

SWIFT

optional func onError(_ info: String, exception e: NSException)

SDLProxyListener Protocol Reference

Section Contents

• -onOnDriverDistraction:• -onOnHMIStatus:• -onProxyClosed• -onProxyOpened• -onAddCommandResponse:• -onAddSubMenuResponse:• -onAlertManeuverResponse:• -onAlertResponse:• -onButtonPressResponse:• -onChangeRegistrationResponse:• -onCreateInteractionChoiceSetResponse:• -onDeleteCommandResponse:• -onDeleteFileResponse:• -onDeleteInteractionChoiceSetResponse:• -onDeleteSubMenuResponse:• -onDiagnosticMessageResponse:• -onDialNumberResponse:• -onEncodedSyncPDataResponse:• -onEndAudioPassThruResponse:• -onError:• -onGenericResponse:• -onGetDTCsResponse:• -onGetInteriorVehicleDataResponse:• -onGetSystemCapabilityResponse:• -onGetVehicleDataResponse:• -onGetWayPointsResponse:• -onListFilesResponse:• -onReceivedLockScreenIcon:• -onOnAppInterfaceUnregistered:• -onOnAudioPassThru:• -onOnButtonEvent:

• -onOnButtonPress:• -onOnCommand:• -onOnEncodedSyncPData:• -onOnHashChange:• -onOnInteriorVehicleData:• -onOnKeyboardInput:• -onOnLanguageChange:• -onOnLockScreenNotification:• -onOnPermissionsChange:• -onOnSyncPData:• -onOnSystemRequest:• -onOnTBTClientState:• -onOnTouchEvent:• -onOnVehicleData:• -onOnWayPointChange:• -onPerformAudioPassThruResponse:• -onPerformInteractionResponse:• -onPutFileResponse:• -onReadDIDResponse:• -onRegisterAppInterfaceResponse:• -onResetGlobalPropertiesResponse:• -onScrollableMessageResponse:• -onSendHapticDataResponse:• -onSendLocationResponse:• -onSetAppIconResponse:• -onSetDisplayLayoutResponse:• -onSetGlobalPropertiesResponse:• -onSetInteriorVehicleDataResponse:• -onSetMediaClockTimerResponse:• -onShowConstantTBTResponse:• -onShowResponse:• -onSliderResponse:• -onSpeakResponse:• -onSubscribeButtonResponse:• -onSubscribeVehicleDataResponse:• -onSubscribeWayPointsResponse:• -onSyncPDataResponse:• -onUpdateTurnListResponse:

• -onUnregisterAppInterfaceResponse:• -onUnsubscribeButtonResponse:• -onUnsubscribeVehicleDataResponse:• -onUnsubscribeWayPointsResponse:

Overview

Undocumented

-onOnDriverDistraction:

Undocumented

-onOnHMIStatus:

Undocumented

OBJECTIVE-C

- (void)onOnDriverDistraction:(SDLOnDriverDistraction *)notification;

SWIFT

func on(_ notification: SDLOnDriverDistraction)

-onProxyClosed

Undocumented

OBJECTIVE-C

- (void)onOnHMIStatus:(SDLOnHMIStatus *)notification;

SWIFT

func on(_ notification: SDLOnHMIStatus)

OBJECTIVE-C

- (void)onProxyClosed;

SWIFT

func onProxyClosed()

-onProxyOpened

Undocumented

-onAddCommandResponse:

Undocumented

OBJECTIVE-C

- (void)onProxyOpened;

SWIFT

func onProxyOpened()

OBJECTIVE-C

- (void)onAddCommandResponse:(SDLAddCommandResponse *)response;

-onAddSubMenuResponse:

Undocumented

-onAlertManeuverResponse:

Undocumented

SWIFT

optional func onAddCommandResponse(_ response: SDLAddCommandResponse)

OBJECTIVE-C

- (void)onAddSubMenuResponse:(SDLAddSubMenuResponse *)response;

SWIFT

optional func onAddSubMenuResponse(_ response: SDLAddSubMenuResponse)

-onAlertResponse:

Undocumented

OBJECTIVE-C

- (void)onAlertManeuverResponse:(SDLAlertManeuverResponse *)response;

SWIFT

optional func onAlertManeuverResponse(_ response: SDLAlertManeuverResponse)

OBJECTIVE-C

- (void)onAlertResponse:(SDLAlertResponse *)response;

SWIFT

optional func onAlertResponse(_ response: SDLAlertResponse)

-onButtonPressResponse:

Undocumented

-onChangeRegistrationResponse:

Undocumented

OBJECTIVE-C

- (void)onButtonPressResponse:(SDLButtonPressResponse *)response;

SWIFT

optional func onButtonPressResponse(_ response: SDLButtonPressResponse)

OBJECTIVE-C

- (void)onChangeRegistrationResponse:(SDLChangeRegistrationResponse *)response;

-onCreateInteractionChoiceSetResponse:

Undocumented

-onDeleteCommandResponse:

Undocumented

SWIFT

optional func onChangeRegistrationResponse(_ response: SDLChangeRegistrationResponse)

OBJECTIVE-C

- (void)onCreateInteractionChoiceSetResponse:(SDLCreateInteractionChoiceSetResponse *)response;

SWIFT

optional func onCreateInteractionChoiceSetResponse(_ response: SDLCreateInteractionChoiceSetResponse)

-onDeleteFileResponse:

Undocumented

OBJECTIVE-C

- (void)onDeleteCommandResponse:(SDLDeleteCommandResponse *)response;

SWIFT

optional func onDeleteCommandResponse(_ response: SDLDeleteCommandResponse)

OBJECTIVE-C

- (void)onDeleteFileResponse:(SDLDeleteFileResponse *)response;

-onDeleteInteractionChoiceSetResponse:

Undocumented

-onDeleteSubMenuResponse:

Undocumented

SWIFT

optional func onDeleteFileResponse(_ response: SDLDeleteFileResponse)

OBJECTIVE-C

- (void)onDeleteInteractionChoiceSetResponse:(SDLDeleteInteractionChoiceSetResponse *)response;

SWIFT

optional func onDeleteInteractionChoiceSetResponse(_ response: SDLDeleteInteractionChoiceSetResponse)

-onDiagnosticMessageResponse:

Undocumented

OBJECTIVE-C

- (void)onDeleteSubMenuResponse:(SDLDeleteSubMenuResponse *)response;

SWIFT

optional func onDeleteSubMenuResponse(_ response: SDLDeleteSubMenuResponse)

OBJECTIVE-C

- (void)onDiagnosticMessageResponse:(SDLDiagnosticMessageResponse *)response;

-onDialNumberResponse:

Undocumented

-onEncodedSyncPDataResponse:

Undocumented

SWIFT

optional func onDiagnosticMessageResponse(_ response: SDLDiagnosticMessageResponse)

OBJECTIVE-C

- (void)onDialNumberResponse:(SDLDialNumberResponse *)response;

SWIFT

optional func onDialNumberResponse(_ response: SDLDialNumberResponse)

-onEndAudioPassThruResponse:

Undocumented

OBJECTIVE-C

- (void)onEncodedSyncPDataResponse:(SDLEncodedSyncPDataResponse *)response;

SWIFT

optional func onEncodedSyncPDataResponse(_ response: SDLEncodedSyncPDataResponse)

OBJECTIVE-C

- (void)onEndAudioPassThruResponse:(SDLEndAudioPassThruResponse *)response;

-onError:

Undocumented

-onGenericResponse:

Undocumented

SWIFT

optional func onEndAudioPassThruResponse(_ response: SDLEndAudioPassThruResponse)

OBJECTIVE-C

- (void)onError:(NSException *)e;

SWIFT

optional func onError(_ e: NSException)

-onGetDTCsResponse:

Undocumented

OBJECTIVE-C

- (void)onGenericResponse:(SDLGenericResponse *)response;

SWIFT

optional func onGenericResponse(_ response: SDLGenericResponse)

OBJECTIVE-C

- (void)onGetDTCsResponse:(SDLGetDTCsResponse *)response;

SWIFT

optional func onGetDTCsResponse(_ response: SDLGetDTCsResponse)

-onGetInteriorVehicleDataResponse:

Undocumented

-onGetSystemCapabilityResponse:

Undocumented

OBJECTIVE-C

- (void)onGetInteriorVehicleDataResponse:(SDLGetInteriorVehicleDataResponse *)response;

SWIFT

optional func onGetInteriorVehicleDataResponse(_ response: SDLGetInteriorVehicleDataResponse)

OBJECTIVE-C

- (void)onGetSystemCapabilityResponse:(SDLGetSystemCapabilityResponse *)response;

-onGetVehicleDataResponse:

Undocumented

-onGetWayPointsResponse:

Undocumented

SWIFT

optional func onGetSystemCapabilityResponse(_ response: SDLGetSystemCapabilityResponse)

OBJECTIVE-C

- (void)onGetVehicleDataResponse:(SDLGetVehicleDataResponse *)response;

SWIFT

optional func onGetVehicleDataResponse(_ response: SDLGetVehicleDataResponse)

-onListFilesResponse:

Undocumented

OBJECTIVE-C

- (void)onGetWayPointsResponse:(SDLGetWaypointsResponse *)response;

SWIFT

optional func onGetWayPointsResponse(_ response: SDLGetWaypointsResponse)

OBJECTIVE-C

- (void)onListFilesResponse:(SDLListFilesResponse *)response;

SWIFT

optional func onListFilesResponse(_ response: SDLListFilesResponse)

-onReceivedLockScreenIcon:

Undocumented

-onOnAppInterfaceUnregistered:

Undocumented

OBJECTIVE-C

- (void)onReceivedLockScreenIcon:(UIImage *)icon;

SWIFT

optional func onReceivedLockScreenIcon(_ icon: UIImage)

OBJECTIVE-C

- (void)onOnAppInterfaceUnregistered:(SDLOnAppInterfaceUnregistered *)notification;

-onOnAudioPassThru:

Undocumented

-onOnButtonEvent:

Undocumented

SWIFT

optional func on(_ notification: SDLOnAppInterfaceUnregistered)

OBJECTIVE-C

- (void)onOnAudioPassThru:(SDLOnAudioPassThru *)notification;

SWIFT

optional func on(_ notification: SDLOnAudioPassThru)

-onOnButtonPress:

Undocumented

OBJECTIVE-C

- (void)onOnButtonEvent:(SDLOnButtonEvent *)notification;

SWIFT

optional func on(_ notification: SDLOnButtonEvent)

OBJECTIVE-C

- (void)onOnButtonPress:(SDLOnButtonPress *)notification;

SWIFT

optional func on(_ notification: SDLOnButtonPress)

-onOnCommand:

Undocumented

-onOnEncodedSyncPData:

Undocumented

OBJECTIVE-C

- (void)onOnCommand:(SDLOnCommand *)notification;

SWIFT

optional func on(_ notification: SDLOnCommand)

OBJECTIVE-C

- (void)onOnEncodedSyncPData:(SDLOnEncodedSyncPData *)notification;

-onOnHashChange:

Undocumented

-onOnInteriorVehicleData:

Undocumented

SWIFT

optional func on(_ notification: SDLOnEncodedSyncPData)

OBJECTIVE-C

- (void)onOnHashChange:(SDLOnHashChange *)notification;

SWIFT

optional func on(_ notification: SDLOnHashChange)

-onOnKeyboardInput:

Undocumented

OBJECTIVE-C

- (void)onOnInteriorVehicleData:(SDLOnInteriorVehicleData *)notification;

SWIFT

optional func on(_ notification: SDLOnInteriorVehicleData)

OBJECTIVE-C

- (void)onOnKeyboardInput:(SDLOnKeyboardInput *)notification;

SWIFT

optional func on(_ notification: SDLOnKeyboardInput)

-onOnLanguageChange:

Undocumented

-onOnLockScreenNotification:

Undocumented

OBJECTIVE-C

- (void)onOnLanguageChange:(SDLOnLanguageChange *)notification;

SWIFT

optional func on(_ notification: SDLOnLanguageChange)

OBJECTIVE-C

- (void)onOnLockScreenNotification:(SDLOnLockScreenStatus *)notification;

-onOnPermissionsChange:

Undocumented

-onOnSyncPData:

Undocumented

SWIFT

optional func on(onLockScreenNotification notification: SDLOnLockScreenStatus)

OBJECTIVE-C

- (void)onOnPermissionsChange:(SDLOnPermissionsChange *)notification;

SWIFT

optional func on(_ notification: SDLOnPermissionsChange)

-onOnSystemRequest:

Undocumented

OBJECTIVE-C

- (void)onOnSyncPData:(SDLOnSyncPData *)notification;

SWIFT

optional func on(_ notification: SDLOnSyncPData)

OBJECTIVE-C

- (void)onOnSystemRequest:(SDLOnSystemRequest *)notification;

SWIFT

optional func on(_ notification: SDLOnSystemRequest)

-onOnTBTClientState:

Undocumented

-onOnTouchEvent:

Undocumented

OBJECTIVE-C

- (void)onOnTBTClientState:(SDLOnTBTClientState *)notification;

SWIFT

optional func on(_ notification: SDLOnTBTClientState)

OBJECTIVE-C

- (void)onOnTouchEvent:(SDLOnTouchEvent *)notification;

-onOnVehicleData:

Undocumented

-onOnWayPointChange:

Undocumented

SWIFT

optional func on(_ notification: SDLOnTouchEvent)

OBJECTIVE-C

- (void)onOnVehicleData:(SDLOnVehicleData *)notification;

SWIFT

optional func on(_ notification: SDLOnVehicleData)

-onPerformAudioPassThruResponse:

Undocumented

OBJECTIVE-C

- (void)onOnWayPointChange:(SDLOnWayPointChange *)notification;

SWIFT

optional func on(_ notification: SDLOnWayPointChange)

OBJECTIVE-C

- (void)onPerformAudioPassThruResponse:(SDLPerformAudioPassThruResponse *)response;

SWIFT

optional func onPerformAudioPassThruResponse(_ response: SDLPerformAudioPassThruResponse)

-onPerformInteractionResponse:

Undocumented

-onPutFileResponse:

Undocumented

OBJECTIVE-C

- (void)onPerformInteractionResponse:(SDLPerformInteractionResponse *)response;

SWIFT

optional func onPerformInteractionResponse(_ response: SDLPerformInteractionResponse)

OBJECTIVE-C

- (void)onPutFileResponse:(SDLPutFileResponse *)response;

-onReadDIDResponse:

Undocumented

-onRegisterAppInterfaceResponse:

Undocumented

SWIFT

optional func onPutFileResponse(_ response: SDLPutFileResponse)

OBJECTIVE-C

- (void)onReadDIDResponse:(SDLReadDIDResponse *)response;

SWIFT

optional func onReadDIDResponse(_ response: SDLReadDIDResponse)

-onResetGlobalPropertiesResponse:

Undocumented

OBJECTIVE-C

- (void)onRegisterAppInterfaceResponse:(SDLRegisterAppInterfaceResponse *)response;

SWIFT

optional func onRegisterAppInterfaceResponse(_ response: SDLRegisterAppInterfaceResponse)

OBJECTIVE-C

- (void)onResetGlobalPropertiesResponse:(SDLResetGlobalPropertiesResponse *)response;

-onScrollableMessageResponse:

Undocumented

-onSendHapticDataResponse:

Undocumented

SWIFT

optional func onResetGlobalPropertiesResponse(_ response: SDLResetGlobalPropertiesResponse)

OBJECTIVE-C

- (void)onScrollableMessageResponse:(SDLScrollableMessageResponse *)response;

SWIFT

optional func onScrollableMessageResponse(_ response: SDLScrollableMessageResponse)

-onSendLocationResponse:

Undocumented

OBJECTIVE-C

- (void)onSendHapticDataResponse:(SDLSendHapticDataResponse *)response;

SWIFT

optional func onSendHapticDataResponse(_ response: SDLSendHapticDataResponse)

OBJECTIVE-C

- (void)onSendLocationResponse:(SDLSendLocationResponse *)response;

-onSetAppIconResponse:

Undocumented

-onSetDisplayLayoutResponse:

Undocumented

SWIFT

optional func onSendLocationResponse(_ response: SDLSendLocationResponse)

OBJECTIVE-C

- (void)onSetAppIconResponse:(SDLSetAppIconResponse *)response;

SWIFT

optional func onSetAppIconResponse(_ response: SDLSetAppIconResponse)

-onSetGlobalPropertiesResponse:

Undocumented

OBJECTIVE-C

- (void)onSetDisplayLayoutResponse:(SDLSetDisplayLayoutResponse *)response;

SWIFT

optional func onSetDisplayLayoutResponse(_ response: SDLSetDisplayLayoutResponse)

OBJECTIVE-C

- (void)onSetGlobalPropertiesResponse:(SDLSetGlobalPropertiesResponse *)response;

-onSetInteriorVehicleDataResponse:

Undocumented

-onSetMediaClockTimerResponse:

Undocumented

SWIFT

optional func onSetGlobalPropertiesResponse(_ response: SDLSetGlobalPropertiesResponse)

OBJECTIVE-C

- (void)onSetInteriorVehicleDataResponse:(SDLSetInteriorVehicleDataResponse *)response;

SWIFT

optional func onSetInteriorVehicleDataResponse(_ response: SDLSetInteriorVehicleDataResponse)

-onShowConstantTBTResponse:

Undocumented

OBJECTIVE-C

- (void)onSetMediaClockTimerResponse:(SDLSetMediaClockTimerResponse *)response;

SWIFT

optional func onSetMediaClockTimerResponse(_ response: SDLSetMediaClockTimerResponse)

OBJECTIVE-C

- (void)onShowConstantTBTResponse:(SDLShowConstantTBTResponse *)response;

-onShowResponse:

Undocumented

-onSliderResponse:

Undocumented

SWIFT

optional func onShowConstantTBTResponse(_ response: SDLShowConstantTBTResponse)

OBJECTIVE-C

- (void)onShowResponse:(SDLShowResponse *)response;

SWIFT

optional func onShowResponse(_ response: SDLShowResponse)

-onSpeakResponse:

Undocumented

OBJECTIVE-C

- (void)onSliderResponse:(SDLSliderResponse *)response;

SWIFT

optional func onSliderResponse(_ response: SDLSliderResponse)

OBJECTIVE-C

- (void)onSpeakResponse:(SDLSpeakResponse *)response;

SWIFT

optional func onSpeakResponse(_ response: SDLSpeakResponse)

-onSubscribeButtonResponse:

Undocumented

-onSubscribeVehicleDataResponse:

Undocumented

OBJECTIVE-C

- (void)onSubscribeButtonResponse:(SDLSubscribeButtonResponse *)response;

SWIFT

optional func onSubscribeButtonResponse(_ response: SDLSubscribeButtonResponse)

OBJECTIVE-C

- (void)onSubscribeVehicleDataResponse:(SDLSubscribeVehicleDataResponse *)response;

-onSubscribeWayPointsResponse:

Undocumented

-onSyncPDataResponse:

Undocumented

SWIFT

optional func onSubscribeVehicleDataResponse(_ response: SDLSubscribeVehicleDataResponse)

OBJECTIVE-C

- (void)onSubscribeWayPointsResponse:(SDLSubscribeWayPointsResponse *)response;

SWIFT

optional func onSubscribeWayPointsResponse(_ response: SDLSubscribeWayPointsResponse)

-onUpdateTurnListResponse:

Undocumented

OBJECTIVE-C

- (void)onSyncPDataResponse:(SDLSyncPDataResponse *)response;

SWIFT

optional func onSyncPDataResponse(_ response: SDLSyncPDataResponse)

OBJECTIVE-C

- (void)onUpdateTurnListResponse:(SDLUpdateTurnListResponse *)response;

-onUnregisterAppInterfaceResponse:

Undocumented

-onUnsubscribeButtonResponse:

Undocumented

SWIFT

optional func onUpdateTurnListResponse(_ response: SDLUpdateTurnListResponse)

OBJECTIVE-C

- (void)onUnregisterAppInterfaceResponse:(SDLUnregisterAppInterfaceResponse *)response;

SWIFT

optional func onUnregisterAppInterfaceResponse(_ response: SDLUnregisterAppInterfaceResponse)

-onUnsubscribeVehicleDataResponse:

Undocumented

OBJECTIVE-C

- (void)onUnsubscribeButtonResponse:(SDLUnsubscribeButtonResponse *)response;

SWIFT

optional func onUnsubscribeButtonResponse(_ response: SDLUnsubscribeButtonResponse)

OBJECTIVE-C

- (void)onUnsubscribeVehicleDataResponse:(SDLUnsubscribeVehicleDataResponse *)response;

-onUnsubscribeWayPointsResponse:

Undocumented

SWIFT

optional func onUnsubscribeVehicleDataResponse(_ response: SDLUnsubscribeVehicleDataResponse)

OBJECTIVE-C

- (void)onUnsubscribeWayPointsResponse:(SDLUnsubscribeWayPointsResponse *)response;

SWIFT

optional func onUnsubscribeWayPointsResponse(_ response: SDLUnsubscribeWayPointsResponse)

SDLSecurityType Protocol Reference

Section Contents

• appId• -initializeWithAppId:completionHandler:• -stop• -runHandshakeWithClientData:error:• -encryptData:withError:• -decryptData:withError:• +availableMakes

Overview

Undocumented

appId

Undocumented

OBJECTIVE-C

@property (copy, nonatomic) NSString *appId

-initializeWithAppId:completionHandler:

Undocumented

-stop

Undocumented

SWIFT

var appId: String { get set }

OBJECTIVE-C

- (void)initializeWithAppId:(NSString *)appId completionHandler:(void (^)(NSError *_Nullable error))completionHandler;

SWIFT

func initialize(withAppId appId: String, completionHandler: @escaping (Error?) -> Void)

-runHandshakeWithClientData:error:

Undocumented

OBJECTIVE-C

- (void)stop;

SWIFT

func stop()

OBJECTIVE-C

- (nullable NSData *)runHandshakeWithClientData:(NSData *)data error:(NSError **)error;

SWIFT

func runHandshake(withClientData data: Data) throws -> Data

-encryptData:withError:

Undocumented

-decryptData:withError:

Undocumented

OBJECTIVE-C

- (nullable NSData *)encryptData:(NSData *)data withError:(NSError **)error;

SWIFT

func encryptData(_ data: Data) throws -> Data

OBJECTIVE-C

- (nullable NSData *)decryptData:(NSData *)data withError:(NSError **)error;

+availableMakes

Undocumented

SWIFT

func decryptData(_ data: Data) throws -> Data

OBJECTIVE-C

+ (NSSet<NSString *> *)availableMakes;

SWIFT

static func availableMakes() -> Set<String>

SDLStreamingAudioManagerTypeProtocol Reference

Section Contents

• audioConnected• -sendAudioData:

Overview

Undocumented

audioConnected

Undocumented

OBJECTIVE-C

@property (assign, nonatomic, readonly, getter=isAudioConnected) BOOL audioConnected

SWIFT

var isAudioConnected: Bool { get }

-sendAudioData:

Undocumented

SDLTouchManagerDelegate ProtocolReference

Section Contents

• -touchManager:didReceiveSingleTapForView:atPoint:• -touchManager:didReceiveDoubleTapForView:atPoint:• -touchManager:panningDidStartInView:atPoint:• -touchManager:didReceivePanningFromPoint:toPoint:• -touchManager:panningDidEndInView:atPoint:• -touchManager:panningCanceledAtPoint:

OBJECTIVE-C

- (BOOL)sendAudioData:(NSData *)audioData;

SWIFT

func sendAudioData(_ audioData: Data!) -> Bool

• -touchManager:pinchDidStartInView:atCenterPoint:• -touchManager:didReceivePinchAtCenterPoint:withScale:• -touchManager:didReceivePinchInView:atCenterPoint:withScale:• -touchManager:pinchDidEndInView:atCenterPoint:• -touchManager:pinchCanceledAtCenterPoint:

Overview

Undocumented

-touchManager:didReceiveSingleTapForView:atPoint:

A single tap was received

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager didReceiveSingleTapForView:(UIView *_Nullable)view atPoint:(CGPoint)point;

SWIFT

optional func touchManager(_ manager: SDLTouchManager, didReceiveSingleTapFor view: UIView?, at point: CGPoint)

manager

The SDLTouchManager issuing the callback

view

The view under the touch if it could be determined

point

The point at which the touch occurred in the head unit’s coordinate

system

-

touchManager:didReceiveDoubleTapForView:atPoint:

A double tap was received

PARAMETERS

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager didReceiveDoubleTapForView:(UIView *_Nullable)view atPoint:(CGPoint)point;

manager

The SDLTouchManager issuing the callback

view

The view under the touch if it could be determined

point

Location of the double tap in the head unit’s coordinate system. This is

the average of the first and second tap.

-touchManager:panningDidStartInView:atPoint:

Panning started

SWIFT

optional func touchManager(_ manager: SDLTouchManager, didReceiveDoubleTapFor view: UIView?, at point: CGPoint)

PARAMETERS

manager

The SDLTouchManager issuing the callback

view

The view under where the panning started if it could be determined

point

Location of the panning start point in the head unit’s coordinate

system.

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager panningDidStartInView:(UIView *_Nullable)view atPoint:(CGPoint)point;

SWIFT

optional func touchManager(_ manager: SDLTouchManager, panningDidStartIn view: UIView?, at point: CGPoint)

PARAMETERS

-

touchManager:didReceivePanningFromPoint:toPoint:

Panning moved between points

manager

The SDLTouchManager issuing the callback

fromPoint

Location of the panning’s previous point in the head unit’s coordinate

system

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager didReceivePanningFromPoint:(CGPoint)fromPoint toPoint:(CGPoint)toPoint;

SWIFT

optional func touchManager(_ manager: SDLTouchManager, didReceivePanningFrom fromPoint: CGPoint, to toPoint: CGPoint)

PARAMETERS

toPoint

Location of the panning’s new point in the head unit’s coordinate

system

-touchManager:panningDidEndInView:atPoint:

Panning ended

manager

The SDLTouchManager issuing the callback

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager panningDidEndInView:(UIView *_Nullable)view atPoint:(CGPoint)point;

SWIFT

optional func touchManager(_ manager: SDLTouchManager, panningDidEndIn view: UIView?, at point: CGPoint)

PARAMETERS

view

The view under where the panning ended if it could be determined

point

Location of the panning’s end point in the head unit’s coordinate

system

-touchManager:panningCanceledAtPoint:

Panning canceled

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager panningCanceledAtPoint:(CGPoint)point;

SWIFT

optional func touchManager(_ manager: SDLTouchManager, panningCanceledAt point: CGPoint)

manager

The SDLTouchManager issuing the callback

point

Location of the panning’s end point in the head unit’s coordinate

system

-touchManager:pinchDidStartInView:atCenterPoint:

Pinch did start

PARAMETERS

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager pinchDidStartInView:(UIView *_Nullable)view atCenterPoint:(CGPoint)point;

SWIFT

optional func touchManager(_ manager: SDLTouchManager, pinchDidStartIn view: UIView?, atCenter point: CGPoint)

manager

The SDLTouchManager issuing the callback

view

The view under the center of the pinch start

point

Center point of the pinch in the head unit’s coordinate system

-

touchManager:didReceivePinchAtCenterPoint:withScale:

@abstract Pinch did move.

PARAMETERS

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager didReceivePinchAtCenterPoint:(CGPoint)point withScale:(CGFloat)scale;

manager

Current initalized SDLTouchManager issuing the callback.

point

Center point of the pinch in the head unit’s coordinate system.

scale

Scale relative to the distance between touch points.

-

touchManager:didReceivePinchInView:atCenterPoint:withScale:

Pinch moved and changed scale

SWIFT

optional func touchManager(_ manager: SDLTouchManager, didReceivePinchAtCenter point: CGPoint, withScale scale: CGFloat)

PARAMETERS

manager

The SDLTouchManager issuing the callback

view

The view under the center of the pinch

point

Center point of the pinch in the head unit’s coordinate system

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager didReceivePinchInView:(UIView *_Nullable)view atCenterPoint:(CGPoint)point withScale:(CGFloat)scale;

SWIFT

optional func touchManager(_ manager: SDLTouchManager, didReceivePinchIn view: UIView?, atCenter point: CGPoint, withScale scale: CGFloat)

PARAMETERS

scale

Scale relative to the distance between touch points

-touchManager:pinchDidEndInView:atCenterPoint:

Pinch did end

manager

The SDLTouchManager issuing the callback

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager pinchDidEndInView:(UIView *_Nullable)view atCenterPoint:(CGPoint)point;

SWIFT

optional func touchManager(_ manager: SDLTouchManager, pinchDidEndIn view: UIView?, atCenter point: CGPoint)

PARAMETERS

view

The view under the center of the pinch

point

Center point of the pinch in the head unit’s coordinate system

-touchManager:pinchCanceledAtCenterPoint:

Pinch canceled

OBJECTIVE-C

- (void)touchManager:(nonnull SDLTouchManager *)manager pinchCanceledAtCenterPoint:(CGPoint)point;

SWIFT

optional func touchManager(_ manager: SDLTouchManager, pinchCanceledAtCenter point: CGPoint)

manager

The SDLTouchManager issuing the callback

point

Center point of the pinch in the head unit’s coordinate system

SDLTransportDelegate ProtocolReference

Section Contents

• -onTransportConnected• -onTransportDisconnected• -onDataReceived:

Overview

Undocumented

-onTransportConnected

Undocumented

PARAMETERS

-onTransportDisconnected

Undocumented

OBJECTIVE-C

- (void)onTransportConnected;

SWIFT

func onTransportConnected()

OBJECTIVE-C

- (void)onTransportDisconnected;

SWIFT

func onTransportDisconnected()

-onDataReceived:

Undocumented

SDLTouchIdentifier Type DefinitionReference

Section Contents

Overview

Undocumented

OBJECTIVE-C

- (void)onDataReceived:(NSData *)receivedData;

SWIFT

func onDataReceived(_ receivedData: Any!)

UndocumentedSee more

OBJECTIVE-C

enum { SDLTouchIdentifierFirstFinger = 0, SDLTouchIdentifierSecondFinger = 1}

SWIFT

struct SDLTouchIdentifier : RawRepresentable, Equatable

top related