Upload
others
View
31
Download
0
Embed Size (px)
Citation preview
Documentation iOS DocumentationDocument current as of 06/07/2018 11:19 AM.
NSString(SDLEnum) CategoryReference
Section Contents
• -isEqualToEnum:
Overview
Undocumented
-isEqualToEnum:
Returns whether or not two enums are equal.
OBJECTIVE-C
- (BOOL)isEqualToEnum:(nonnull SDLEnum)enumObj;
enumObj
A SDLEnum object
YES if the two enums are equal. NO if not.
SDLAddCommand Class Reference
Section Contents
• -initWithHandler:• -initWithId:vrCommands:handler:• -initWithId:vrCommands:menuName:handler:• -
initWithId:vrCommands:menuName:parentId:position:iconValue:iconType:handler:
SWIFT
func isEqual(toEnum enumObj: SDLEnum) -> Bool
PARAMETERS
RETURN VALUE
• 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
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.
handler
A callback that will be called when a button event occurs for the
command
An SDLAddCommand object
OBJECTIVE-C
- (nonnull instancetype)initWithHandler: (nullable SDLRPCCommandNotificationHandler)handler;
SWIFT
init(handler: SDLRPCCommandNotificationHandler? = nil)
PARAMETERS
RETURN VALUE
-initWithId:vrCommands:handler:
Undocumented
-initWithId:vrCommands:menuName:handler:
Undocumented
OBJECTIVE-C
- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray<NSString *> *)vrCommands handler:(nullable SDLRPCCommandNotificationHandler)handler;
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:(nullable SDLRPCCommandNotificationHandler)handler;
-
initWithId:vrCommands:menuName:parentId:position:iconValue:iconType:handl
Undocumented
SWIFT
init(id commandId: UInt32, vrCommands: [String]?, menuName: String, handler: SDLRPCCommandNotificationHandler? = nil)
OBJECTIVE-C
- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray<NSString *> *)vrCommands menuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position iconValue:(nullable NSString *)iconValue iconType:(nullable 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)
handler
A handler that will let you know when the button you created is subscribed.
WarningThis will only work if you use SDLManager.
cmdID
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
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) SDLRPCCommandNotificationHandler handler;
SWIFT
var handler: SDLRPCCommandNotificationHandler? { get set }
menuParams
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
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull cmdID;
SWIFT
var cmdID: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLMenuParams *menuParams;
vrCommands
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
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
SWIFT
var menuParams: SDLMenuParams? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<NSString *> *vrCommands;
SWIFT
var vrCommands: [String]? { get set }
cmdIcon
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) SDLImage *cmdIcon;
SWIFT
var cmdIcon: SDLImage? { get set }
SDLAddSubMenu Class Reference
Section Contents
• -initWithId:menuName:• -initWithId:menuName:position:• menuID• position• menuName
Overview
Add a SDLSubMenu to the Command Menu
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
OBJECTIVE-C
- (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName;
-initWithId:menuName:position:
Undocumented
menuID
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
SWIFT
init(id menuId: UInt32, menuName: String)
OBJECTIVE-C
- (instancetype)initWithId:(UInt32)menuId menuName:(NSString *)menuName position:(UInt8)position;
SWIFT
init(id menuId: UInt32, menuName: String, position: UInt8)
position
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
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull menuID;
SWIFT
var menuID: NSNumber & SDLInt { get set }
menuName
a menuName which is displayed representing this submenu item @discussion
NSString which will be displayed representing this submenu item
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;
SDLAirbagStatus Class Reference
Section Contents
• driverAirbagDeployed• driverSideAirbagDeployed• driverCurtainAirbagDeployed• passengerAirbagDeployed• passengerCurtainAirbagDeployed• driverKneeAirbagDeployed• passengerSideAirbagDeployed• passengerKneeAirbagDeployed
Overview
A vehicle data status struct for airbags
driverAirbagDeployed
References signal “VedsDrvBag_D_Ltchd”. See VehicleDataEventStatus.
Required
SWIFT
var menuName: String { get set }
driverSideAirbagDeployed
References signal “VedsDrvSideBag_D_Ltchd”. See VehicleDataEventStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull driverAirbagDeployed;
SWIFT
var driverAirbagDeployed: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull driverSideAirbagDeployed;
driverCurtainAirbagDeployed
References signal “VedsDrvCrtnBag_D_Ltchd”. See VehicleDataEventStatus
Required
passengerAirbagDeployed
References signal “VedsPasBag_D_Ltchd”. See VehicleDataEventStatus.
SWIFT
var driverSideAirbagDeployed: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull driverCurtainAirbagDeployed;
SWIFT
var driverCurtainAirbagDeployed: SDLVehicleDataEventStatus { get set }
Required
passengerCurtainAirbagDeployed
References signal “VedsPasCrtnBag_D_Ltchd”. See VehicleDataEventStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull passengerAirbagDeployed;
SWIFT
var passengerAirbagDeployed: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull passengerCurtainAirbagDeployed;
driverKneeAirbagDeployed
References signal “VedsKneeDrvBag_D_Ltchd”. See VehicleDataEventStatus.
Required
passengerSideAirbagDeployed
References signal “VedsPasSideBag_D_Ltchd”. See VehicleDataEventStatus.
SWIFT
var passengerCurtainAirbagDeployed: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull driverKneeAirbagDeployed;
SWIFT
var driverKneeAirbagDeployed: SDLVehicleDataEventStatus { get set }
Required
passengerKneeAirbagDeployed
References signal “VedsKneePasBag_D_Ltchd”. See VehicleDataEventStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull passengerSideAirbagDeployed;
SWIFT
var passengerSideAirbagDeployed: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull passengerKneeAirbagDeployed;
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:• -
initWithTTSChunks:alertText1:alertText2:alertText3:playTone:duration:softButtons:• alertText1• alertText2• alertText3• ttsChunks• duration• playTone• progressIndicator• softButtons
SWIFT
var passengerKneeAirbagDeployed: SDLVehicleDataEventStatus { get set }
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
OBJECTIVE-C
- (instancetype)initWithAlertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 duration:(UInt16)duration;
-initWithAlertText1:alertText2:alertText3:
Undocumented
-initWithAlertText1:alertText2:alertText3:duration:
Undocumented
SWIFT
init(alertText1: String?, alertText2: String?, duration: UInt16)
OBJECTIVE-C
- (instancetype)initWithAlertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 alertText3:(nullable NSString *)alertText3;
SWIFT
init(alertText1: String?, alertText2: String?, alertText3: String?)
-
initWithAlertText1:alertText2:alertText3:duration:softButtons:
Undocumented
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)
OBJECTIVE-C
- (instancetype)initWithAlertText1:(nullable NSString *)alertText1 alertText2:(nullable NSString *)alertText2 alertText3:(nullable NSString *)alertText3 duration:(UInt16)duration softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;
-initWithTTS:playTone:
Undocumented
-
initWithTTS:alertText1:alertText2:playTone:duration:
Undocumented
SWIFT
init(alertText1: String?, alertText2: String?, alertText3: String?, duration:UInt16, softButtons: [SDLSoftButton]?)
OBJECTIVE-C
- (instancetype)initWithTTS:(nullable NSString *)ttsText playTone:(BOOL)playTone;
SWIFT
init(tts ttsText: String?, playTone: Bool)
-
initWithTTS:alertText1:alertText2:alertText3:playTone:duration:
Undocumented
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)
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;
-initWithTTSChunks:playTone:
Undocumented
-
initWithTTSChunks:alertText1:alertText2:alertText3:playTone:softButtons:
Undocumented
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;
SWIFT
init(ttsChunks: [SDLTTSChunk]?, playTone: Bool)
-
initWithTTSChunks:alertText1:alertText2:alertText3:playTone:duration:softButto
Undocumented
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]?)
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;
alertText1
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
Text is always centered
Optional, Max length 500 chars
SWIFT
init(ttsChunks: [SDLTTSChunk]?, alertText1: String?, alertText2: String?, alertText3: String?, playTone: Bool, duration: UInt16, softButtons: [SDLSoftButton]?)
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *alertText1;
SWIFT
var alertText1: String? { get set }
alertText2
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
alertText3
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
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *alertText2;
SWIFT
var alertText2: String? { get set }
If omitted, third display line will be cleared
Text is always centered
Optional, Max length 500 chars
ttsChunks
An array which, taken together, specify what is to be spoken to the user
Optional, Array of SDLTTSChunk, Array length 1 - 100
SeeSDLTTSChunk
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *alertText3;
SWIFT
var alertText3: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *ttsChunks;
duration
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
SWIFT
var ttsChunks: [SDLTTSChunk]? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *duration;
SWIFT
var duration: (NSNumber & SDLInt)? { get set }
playTone
Whether the alert tone should be played before the TTS (if any) is spoken.
@discussion If ommitted, no tone is played
Optional, Boolean
progressIndicator
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 }
softButtons
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
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *progressIndicator;
SWIFT
var progressIndicator: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLSoftButton *> *softButtons;
SDLAlertManeuver Class Reference
Section Contents
• -initWithTTS:softButtons:• -initWithTTSChunks:softButtons:• ttsChunks• softButtons
Overview
Shows a SDLShowConstantTBT message with an optional voice command. This
message is shown as an overlay over the display’s base screen.
@since SmartDeviceLink 1.0
-initWithTTS:softButtons:
Undocumented
SWIFT
var softButtons: [SDLSoftButton]? { get set }
-initWithTTSChunks:softButtons:
Undocumented
OBJECTIVE-C
- (instancetype)initWithTTS:(nullable NSString *)ttsText softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;
SWIFT
init(tts ttsText: String?, softButtons: [SDLSoftButton]?)
OBJECTIVE-C
- (instancetype)initWithTTSChunks:(nullable NSArray<SDLTTSChunk *> *)ttsChunks softButtons:(nullable NSArray<SDLSoftButton *> *)softButtons;
ttsChunks
An array of text chunks.
Optional, Array of SDLTTSChunk, Array length 1 - 100
SeeSDLTTSChunk
SWIFT
init(ttsChunks: [SDLTTSChunk]?, softButtons: [SDLSoftButton]?)
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *ttsChunks;
SWIFT
var ttsChunks: [SDLTTSChunk]? { get set }
softButtons
An arry of soft buttons. If omitted on supported displays, only the system
defined “Close” SoftButton shall be displayed.
Optional, Array of SDLSoftButton, Array length 0 - 3
SeeSDLSoftButton
SDLAlertResponse Class Reference
Section Contents
• tryAgainTime
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLSoftButton *> *softButtons;
SWIFT
var softButtons: [SDLSoftButton]? { get set }
Overview
Response to SDLAlert
@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
A struct used in register app interface. Contains detailed information about the
registered application.
+currentAppInfo
Undocumented
OBJECTIVE-C
+ (instancetype)currentAppInfo;
SWIFT
class func current() -> Self
appDisplayName
The name displayed for the mobile application on the mobile device (can differ
from the app name set in the initial RAI request).
Required
appBundleID
The AppBundleID of an iOS application or package name of the Android
application. This supports App Launch strategies for each platform.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull appDisplayName;
SWIFT
var appDisplayName: String { get set }
appVersion
Represents the build version number of this particular mobile app.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull appBundleID;
SWIFT
var appBundleID: String { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull appVersion;
SDLArtwork Class Reference
Section Contents
• +artworkWithImage:name:asImageFormat:• +artworkWithImage:asImageFormat:• +persistentArtworkWithImage:name:asImageFormat:• +persistentArtworkWithImage:asImageFormat:• -initWithImage:name:persistent:asImageFormat:• -initWithImage: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.
SWIFT
var appVersion: String { get set }
Persistent files should be created using persistentArtworkWithImage:name:asI
mageFormat:
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
OBJECTIVE-C
+ (nonnull instancetype)artworkWithImage:(nonnull UIImage *)image name:(nonnull NSString *)name asImageFormat:(SDLArtworkImageFormat)imageFormat;
PARAMETERS
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.
+artworkWithImage:asImageFormat:
Convenience Helper to create an ephemeral artwork from an image. A unique
name will be assigned to the image. This name is a string representation of the
image’s data which is created by hashing the data using the MD5 algorithm.
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:asI
mageFormat:
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
RETURN VALUE
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
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.
OBJECTIVE-C
+ (nonnull instancetype)artworkWithImage:(nonnull UIImage *)image asImageFormat:(SDLArtworkImageFormat)imageFormat;
PARAMETERS
RETURN VALUE
+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:as
ImageFormat:
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
OBJECTIVE-C
+ (nonnull instancetype)persistentArtworkWithImage:(nonnull UIImage *)image name:(nonnull NSString *)name asImageFormat: (SDLArtworkImageFormat)imageFormat;
PARAMETERS
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.
+persistentArtworkWithImage:asImageFormat:
Convenience Helper to create a persistent artwork from an image. A unique
name will be assigned to the image. This name is a string representation of the
image’s data which is created by hashing the data using the MD5 algorithm.
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:as
ImageFormat:
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
RETURN VALUE
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
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.
OBJECTIVE-C
+ (nonnull instancetype)persistentArtworkWithImage:(nonnull UIImage *)image asImageFormat: (SDLArtworkImageFormat)imageFormat;
PARAMETERS
RETURN VALUE
-initWithImage:name:persistent:asImageFormat:
Create a file for transmission to the remote system from a UIImage.
image
The UIImage to be sent to the remote head unit
name
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
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
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.
-initWithImage:persistent:asImageFormat:
Create a file for transmission to the remote system from a UIImage. A unique
name will be assigned to the image. This name is a string representation of the
image’s data which is created by hashing the data using the MD5 algorithm.
RETURN VALUE
OBJECTIVE-C
- (nonnull instancetype)initWithImage:(nonnull UIImage *)image persistent:(BOOL)persistent asImageFormat:(SDLArtworkImageFormat)imageFormat;
image
The UIImage to be sent to the remote head unit
persistent
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.
SWIFT
init(image: UIImage, persistent: Bool, as imageFormat: SDLArtworkImageFormat)
PARAMETERS
RETURN VALUE
SDLAudioPassThruCapabilities ClassReference
Section Contents
• samplingRate• bitsPerSample• audioType
Overview
Describes different audio type configurations for SDLPerformAudioPassThru,
e.g. {8kHz,8-bit,PCM}
Since SmartDeviceLink 2.0
samplingRate
The sampling rate for AudioPassThru
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSamplingRate _Nonnull samplingRate;
bitsPerSample
The sample depth in bit for AudioPassThru
Required
audioType
The audiotype for AudioPassThru
Required
SWIFT
var samplingRate: SDLSamplingRate { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLBitsPerSample _Nonnull bitsPerSample;
SWIFT
var bitsPerSample: SDLBitsPerSample { get set }
SDLAudioStreamManager ClassReference
Section Contents
• delegate• playing• queue• -init• -initWithManager:• -pushWithFileURL:• -playNextWhenReady• -stop
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLAudioType _Nonnull audioType;
SWIFT
var audioType: SDLAudioType { get set }
Overview
Undocumented
delegate
The delegate describing when files are done playing or any errors that occur
playing
Whether or not we are currently playing audio
OBJECTIVE-C
@property (readwrite, nonatomic) id<SDLAudioStreamManagerDelegate> _Nullable delegate;
OBJECTIVE-C
@property (readonly, getter=isPlaying, assign, nonatomic) BOOL playing;
queue
The queue of audio files that will be played in sequence
-init
Init should only occur with dependencies. use initWithManager:
SWIFT
var isPlaying: Bool { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSArray<SDLAudioFile *> *_Nonnull queue;
SWIFT
var queue: [SDLAudioFile] { get }
A failure
-initWithManager:
Create an audio stream manager with a reference to the parent stream
manager.
Warning
For internal use
OBJECTIVE-C
- (nonnull instancetype)init;
RETURN VALUE
OBJECTIVE-C
- (nonnull instancetype)initWithManager: (nonnull id<SDLStreamingAudioManagerType>)streamManager;
streamManager
The parent stream manager
The audio stream manager
-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.
PARAMETERS
RETURN VALUE
OBJECTIVE-C
- (void)pushWithFileURL:(nonnull NSURL *)fileURL;
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.
SWIFT
func push(withFileURL fileURL: URL)
PARAMETERS
OBJECTIVE-C
- (void)playNextWhenReady;
-stop
Stop playing the queue after the current item completes and clear the queue. If
nothing is playing, the queue will be cleared.
SWIFT
func playNextWhenReady()
OBJECTIVE-C
- (void)stop;
SWIFT
func stop()
SDLBeltStatus Class Reference
Section Contents
• driverBeltDeployed• passengerBeltDeployed• passengerBuckleBelted• driverBuckleBelted• leftRow2BuckleBelted• passengerChildDetected• rightRow2BuckleBelted• middleRow2BuckleBelted• middleRow3BuckleBelted• leftRow3BuckleBelted• rightRow3BuckleBelted• leftRearInflatableBelted• rightRearInflatableBelted• middleRow1BeltDeployed• middleRow1BuckleBelted
Overview
Vehicle data struct for the seat belt status
driverBeltDeployed
References signal “VedsDrvBelt_D_Ltchd”. See VehicleDataEventStatus.
Required
passengerBeltDeployed
References signal “VedsPasBelt_D_Ltchd”. See VehicleDataEventStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull driverBeltDeployed;
SWIFT
var driverBeltDeployed: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull passengerBeltDeployed;
passengerBuckleBelted
References signal “VedsRw1PasBckl_D_Ltchd”. See VehicleDataEventStatus.
Required
driverBuckleBelted
References signal “VedsRw1DrvBckl_D_Ltchd”. See VehicleDataEventStatus
Required
SWIFT
var passengerBeltDeployed: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull passengerBuckleBelted;
SWIFT
var passengerBuckleBelted: SDLVehicleDataEventStatus { get set }
leftRow2BuckleBelted
References signal “VedsRw2lBckl_D_Ltchd”. See VehicleDataEventStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull driverBuckleBelted;
SWIFT
var driverBuckleBelted: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull leftRow2BuckleBelted;
passengerChildDetected
References signal “VedsRw1PasChld_D_Ltchd”. See VehicleDataEventStatus.
Required
rightRow2BuckleBelted
References signal “VedsRw2rBckl_D_Ltchd”. See VehicleDataEventStatus.
Required
SWIFT
var leftRow2BuckleBelted: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull passengerChildDetected;
SWIFT
var passengerChildDetected: SDLVehicleDataEventStatus { get set }
middleRow2BuckleBelted
References signal “VedsRw2mBckl_D_Ltchd”. See VehicleDataEventStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull rightRow2BuckleBelted;
SWIFT
var rightRow2BuckleBelted: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull middleRow2BuckleBelted;
middleRow3BuckleBelted
References signal “VedsRw3mBckl_D_Ltchd”. See VehicleDataEventStatus.
Required
leftRow3BuckleBelted
References signal “VedsRw3lBckl_D_Ltchd”. See VehicleDataEventStatus.
Required
SWIFT
var middleRow2BuckleBelted: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull middleRow3BuckleBelted;
SWIFT
var middleRow3BuckleBelted: SDLVehicleDataEventStatus { get set }
rightRow3BuckleBelted
References signal “VedsRw3rBckl_D_Ltchd”. See VehicleDataEventStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull leftRow3BuckleBelted;
SWIFT
var leftRow3BuckleBelted: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull rightRow3BuckleBelted;
leftRearInflatableBelted
References signal “VedsRw2lRib_D_Ltchd”. See VehicleDataEventStatus.
Required
rightRearInflatableBelted
References signal “VedsRw2rRib_D_Ltchd”. See VehicleDataEventStatus.
Required
SWIFT
var rightRow3BuckleBelted: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull leftRearInflatableBelted;
SWIFT
var leftRearInflatableBelted: SDLVehicleDataEventStatus { get set }
middleRow1BeltDeployed
References signal “VedsRw1mBelt_D_Ltchd”. See VehicleDataEventStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull rightRearInflatableBelted;
SWIFT
var rightRearInflatableBelted: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull middleRow1BeltDeployed;
middleRow1BuckleBelted
References signal “VedsRw1mBckl_D_Ltchd”. See VehicleDataEventStatus.
Required
SWIFT
var middleRow1BeltDeployed: SDLVehicleDataEventStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull middleRow1BuckleBelted;
SWIFT
var middleRow1BuckleBelted: SDLVehicleDataEventStatus { get set }
SDLBodyInformation Class Reference
Section Contents
• parkBrakeActive• ignitionStableStatus• ignitionStatus• driverDoorAjar• passengerDoorAjar• rearLeftDoorAjar• rearRightDoorAjar
Overview
The body information including power modes.
parkBrakeActive
• References signal “PrkBrkActv_B_Actl”.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull parkBrakeActive;
ignitionStableStatus
• References signal “Ignition_Switch_Stable”. See IgnitionStableStatus.
Required
ignitionStatus
• References signal “Ignition_status”. See IgnitionStatus.
Required
SWIFT
var parkBrakeActive: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLIgnitionStableStatus _Nonnull ignitionStableStatus;
SWIFT
var ignitionStableStatus: SDLIgnitionStableStatus { get set }
driverDoorAjar
• References signal “DrStatDrv_B_Actl”.
Optional
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
• References signal “DrStatPsngr_B_Actl”.
Optional
rearLeftDoorAjar
• References signal “DrStatRl_B_Actl”.
Optional
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
• References signal “DrStatRr_B_Actl”.
Optional
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;
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
• The name of the SDL HMI button.
Required
SWIFT
var rearRightDoorAjar: (NSNumber & SDLBool)? { get set }
shortPressAvailable
A NSNumber value indicates whether the button supports a SHORT press
Required, Boolean
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull name;
SWIFT
var name: SDLButtonName { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull shortPressAvailable;
longPressAvailable
A NSNumber value indicates whether the button supports a LONG press
Required, Boolean
upDownAvailable
A NSNumber value indicates whether the button supports “button down” and “
button up”
SWIFT
var shortPressAvailable: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull longPressAvailable;
SWIFT
var longPressAvailable: NSNumber & SDLBool { get set }
Required, Boolean
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.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull upDownAvailable;
SWIFT
var upDownAvailable: NSNumber & SDLBool { get set }
-initWithButtonName:moduleType:
Undocumented
moduleType
The module where the button should be pressed.
OBJECTIVE-C
- (instancetype)initWithButtonName:(SDLButtonName)buttonName moduleType:(SDLModuleType) moduleType;
SWIFT
init(buttonName: SDLButtonName, moduleType: SDLModuleType)
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLModuleType _Nonnull moduleType;
buttonName
The name of supported RC climate or radio button.
buttonPressMode
Indicates whether this is a LONG or SHORT button press event.
SWIFT
var moduleType: SDLModuleType { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull buttonName;
SWIFT
var buttonName: SDLButtonName { get set }
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.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLButtonPressMode _Nonnull buttonPressMode;
SWIFT
var buttonPressMode: SDLButtonPressMode { get set }
supportedOrientation
The supported interface orientation you wish to use. Defaults to MaskPortrait.
SDLChangeRegistration ClassReference
Section Contents
• -initWithLanguage:hmiDisplayLanguage:• -
initWithLanguage:hmiDisplayLanguage:appName:ttsName:ngnMediaScreenAppName:vrSynonyms:• language• hmiDisplayLanguage
OBJECTIVE-C
@property (assign, readwrite, nonatomic) UIInterfaceOrientation supportedOrientation;
SWIFT
var supportedOrientation: UIInterfaceOrientation { get set }
• appName• ttsName• ngnMediaScreenAppName• vrSynonyms
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
OBJECTIVE-C
- (instancetype)initWithLanguage:(SDLLanguage)language hmiDisplayLanguage:(SDLLanguage)hmiDisplayLanguage;
SWIFT
init(language: SDLLanguage, hmiDisplayLanguage: SDLLanguage)
-
initWithLanguage:hmiDisplayLanguage:appName:ttsName:ngnMediaScreenApp
Undocumented
language
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]?)
hmiDisplayLanguage
HMI display language
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull language;
SWIFT
var language: SDLLanguage { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull hmiDisplayLanguage;
SWIFT
var hmiDisplayLanguage: SDLLanguage { get set }
appName
Request a new app name registration
Optional, Max string length 100 chars
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.
Since SmartDeviceLink 1.0
-initWithId:menuName:vrCommands:
Undocumented
-
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])
choiceID
The application-scoped identifier that uniquely identifies this choice
Required, Integer 0 - 65535
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;
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;
menuName
Text which appears in menu, representing this choice
Required, Max string length 500 chars
vrCommands
VR synonyms for this choice
Required, Array of Strings, Array length 1 - 100, Max String length 99 chars
SWIFT
var choiceID: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull menuName;
SWIFT
var menuName: String { get set }
image
The image of the choice
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<NSString *> *_Nonnull vrCommands;
SWIFT
var vrCommands: [String] { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLImage *image;
secondaryText
Secondary text to display; e.g. address of POI in a search result entry
Optional, Max String length 500 chars
tertiaryText
Tertiary text to display; e.g. distance to POI for a search result entry
Optional, Max String length 500 chars
SWIFT
var image: SDLImage? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *secondaryText;
SWIFT
var secondaryText: String? { get set }
secondaryImage
Secondary image for choice
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *tertiaryText;
SWIFT
var tertiaryText: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLImage *secondaryImage;
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.
SWIFT
var secondaryImage: SDLImage? { get set }
-
initWithModuleName:fanSpeedAvailable:desiredTemperatureAvailable:acEnable
Undocumented
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)
moduleName
• 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
Required
fanSpeedAvailable
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 }
desiredTemperatureAvailable
Availability of the control of desired temperature. True: Available, False: Not
Available, Not present: Not Available.
Optional, Boolean
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *fanSpeedAvailable;
SWIFT
var fanSpeedAvailable: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *desiredTemperatureAvailable;
acEnableAvailable
Availability of the control of turn on/off AC. True: Available, False: Not Available,
Not present: Not Available.
Optional, Boolean
acMaxEnableAvailable
Availability of the control of enable/disable air conditioning is ON on the
maximum level. True: Available, False: Not Available, Not present: Not Available.
SWIFT
var desiredTemperatureAvailable: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *acEnableAvailable;
SWIFT
var acEnableAvailable: (NSNumber & SDLBool)? { get set }
Optional, Boolean
circulateAirEnableAvailable
Availability of the control of enable/disable circulate Air mode. True: Available,
False: Not Available, Not present: Not Available.
Optional, Boolean
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *acMaxEnableAvailable;
SWIFT
var acMaxEnableAvailable: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *circulateAirEnableAvailable;
autoModeEnableAvailable
Availability of the control of enable/disable auto mode. True: Available, False:
Not Available, Not present: Not Available.
Optional, Boolean
dualModeEnableAvailable
Availability of the control of enable/disable dual mode. True: Available, False:
Not Available, Not present: Not Available.
SWIFT
var circulateAirEnableAvailable: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *autoModeEnableAvailable;
SWIFT
var autoModeEnableAvailable: (NSNumber & SDLBool)? { get set }
Optional, Boolean
defrostZoneAvailable
Availability of the control of defrost zones. True: Available, False: Not Available,
Not present: Not Available.
Optional, Boolean
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *dualModeEnableAvailable;
SWIFT
var dualModeEnableAvailable: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *defrostZoneAvailable;
defrostZone
A set of all defrost zones that are controllable.
Optional, NSArray of type SDLDefrostZone minsize=“1” maxsize=“100”
ventilationModeAvailable
Availability of the control of air ventilation mode. True: Available, False: Not
Available, Not present: Not Available.
SWIFT
var defrostZoneAvailable: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLDefrostZone> *defrostZone;
SWIFT
var defrostZone: [SDLDefrostZone]? { get set }
Optional, Boolean
ventilationMode
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”
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *ventilationModeAvailable;
SWIFT
var ventilationModeAvailable: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLVentilationMode> *ventilationMode;
SDLClimateControlData Class Reference
Section Contents
• -
initWithFanSpeed:desiredTemperature:acEnable:circulateAirEnable:autoModeEnable:defrostZone:dualModeE• fanSpeed• currentTemperature• desiredTemperature• acEnable• circulateAirEnable• autoModeEnable• defrostZone• dualModeEnable• acMaxEnable• ventilationMode
Overview
The current information for the Climate Remote Control Module
SWIFT
var ventilationMode: [SDLVentilationMode]? { get set }
-
initWithFanSpeed:desiredTemperature:acEnable:circulateAirEnable:autoModeEn
Undocumented
fanSpeed
Speed of Fan in integer
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?)
Optional, MinValue- 0 MaxValue= 100
currentTemperature
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
Desired Temperature in SDLTemperature
Optional
acEnable
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
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
Represents if auto mode is enabled.
Optional, Boolean
defrostZone
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
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
Represents if ac max is enabled.
Optional, Boolean
ventilationMode
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
A vehicle data struct for the cluster mode and power status
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVentilationMode ventilationMode;
SWIFT
var ventilationMode: SDLVentilationMode? { get set }
powerModeActive
References signal “PowerMode_UB”.
Required
powerModeQualificationStatus
References signal “PowerModeQF”. See PowerModeQualificationStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull powerModeActive;
SWIFT
var powerModeActive: NSNumber & SDLBool { get set }
carModeStatus
References signal “CarMode”. See CarMode.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLPowerModeQualificationStatus _Nonnull powerModeQualificationStatus;
SWIFT
var powerModeQualificationStatus: SDLPowerModeQualificationStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLCarModeStatus _Nonnull carModeStatus;
powerModeStatus
References signal “PowerMode”. See PowerMode.
Required
SWIFT
var carModeStatus: SDLCarModeStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLPowerModeStatus _Nonnull powerModeStatus;
SWIFT
var powerModeStatus: SDLPowerModeStatus { 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
lifecycleConfig
The lifecycle configuration.
OBJECTIVE-C
@property (readonly, copy, nonatomic) SDLLifecycleConfiguration *_Nonnull lifecycleConfig;
lockScreenConfig
The lock screen configuration.
loggingConfig
The log configuration.
SWIFT
@NSCopying var lifecycleConfig: SDLLifecycleConfiguration { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic) SDLLockScreenConfiguration *_Nonnull lockScreenConfig;
SWIFT
@NSCopying var lockScreenConfig: SDLLockScreenConfiguration { get }
streamingMediaConfig
The configuration
OBJECTIVE-C
@property (readonly, copy, nonatomic) SDLLogConfiguration *_Nonnull loggingConfig;
SWIFT
@NSCopying var loggingConfig: SDLLogConfiguration { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic) SDLStreamingMediaConfiguration *_Nonnull streamingMediaConfig;
-initWithLifecycle:lockScreen:logging:
Create a new configuration to be passed into SDLManager with a custom
lifecycle, lock screen, and logging configuration.
SWIFT
@NSCopying var streamingMediaConfig: SDLStreamingMediaConfiguration { get }
OBJECTIVE-C
- (nonnull instancetype)initWithLifecycle:(nonnull SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig;
SWIFT
init(lifecycle lifecycleConfig: SDLLifecycleConfiguration, lockScreen lockScreenConfig: SDLLockScreenConfiguration?, logging logConfig: SDLLogConfiguration?)
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
+configurationWithLifecycle:lockScreen:logging:
Create a new configuration to be passed into SDLManager with a custom
lifecycle, lock screen, and logging 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.
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
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
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
A vehicle data struct
resultCode
Individual DID result code.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataResultCode _Nonnull resultCode;
SWIFT
var resultCode: SDLVehicleDataResultCode { get set }
didLocation
Location of raw data from vehicle data DID
Required
data
Raw DID-based data returned for requested element.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull didLocation;
SWIFT
var didLocation: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) 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
A struct referenced in SendLocation for an absolute date
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
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
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
Minutes part of time
Optional, Integer 0 - 59
hour
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
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
Month of the year
Optional, Integer 1 - 12
year
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
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
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
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
a file reference name @discussion a String value representing a file reference
name
SDLDeleteFileResponse Class Reference
Section Contents
• spaceAvailable
Overview
Response to SDLDeleteFile
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull syncFileName;
SWIFT
var syncFileName: String { get set }
Since SmartDeviceLink 2.0
spaceAvailable
The remaining available space for your application to store data on the remote
system.
SDLDeleteInteractionChoiceSet ClassReference
Section Contents
• -initWithId:• interactionChoiceSetID
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull spaceAvailable;
SWIFT
var spaceAvailable: NSNumber & SDLInt { get set }
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
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
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
Various information about connecting device. Referenced in
RegisterAppInterface
+currentDevice
Undocumented
hardware
Device model
Optional
OBJECTIVE-C
+ (instancetype)currentDevice;
SWIFT
class func currentDevice() -> Self
firmwareRev
Device firmware version
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *hardware;
SWIFT
var hardware: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *firmwareRev;
os
Device OS
Optional
osVersion
Device OS version
Optional
SWIFT
var firmwareRev: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *os;
SWIFT
var os: String? { get set }
carrier
Device mobile carrier
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *osVersion;
SWIFT
var osVersion: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *carrier;
SWIFT
var carrier: String? { get set }
maxNumberRFCOMMPorts
Number of bluetooth RFCOMM ports available.
Omitted if not connected via BT or on iOS
Optional
SDLDeviceStatus Class Reference
Section Contents
• voiceRecOn• btIconOn• callActive
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *maxNumberRFCOMMPorts;
SWIFT
var maxNumberRFCOMMPorts: (NSNumber & SDLInt)? { get set }
• 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.
@since SDL 2.0
voiceRecOn
Indicates whether the voice recognition is on or off
Required, Boolean
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull voiceRecOn;
SWIFT
var voiceRecOn: NSNumber & SDLBool { get set }
btIconOn
Indicates whether the bluetooth connection established
Required, Boolean
callActive
Indicates whether a call is being active
Required, Boolean
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull btIconOn;
SWIFT
var btIconOn: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull callActive;
phoneRoaming
Indicates whether the phone is in roaming mode
Required, Boolean
textMsgAvailable
Indicates whether a textmessage is available
Required, Boolean
SWIFT
var callActive: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull phoneRoaming;
SWIFT
var phoneRoaming: NSNumber & SDLBool { get set }
battLevelStatus
Battery level status
SeeSDLDeviceLevelStatus Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull textMsgAvailable;
SWIFT
var textMsgAvailable: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLDeviceLevelStatus _Nonnull battLevelStatus;
stereoAudioOutputMuted
The status of the stereo audio output channel
Required, Boolean
monoAudioOutputMuted
The status of the mono audio output channel
Required, Boolean
SWIFT
var battLevelStatus: SDLDeviceLevelStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull stereoAudioOutputMuted;
SWIFT
var stereoAudioOutputMuted: NSNumber & SDLBool { get set }
signalLevelStatus
Signal level status
SeeSDLDeviceLevelStatus Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull monoAudioOutputMuted;
SWIFT
var monoAudioOutputMuted: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLDeviceLevelStatus _Nonnull signalLevelStatus;
primaryAudioSource
The current primary audio source of SDL (if selected).
SeeSDLPrimaryAudioSource Required
eCallEventActive
Indicates if an emergency call is active
SWIFT
var signalLevelStatus: SDLDeviceLevelStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLPrimaryAudioSource _Nonnull primaryAudioSource;
SWIFT
var primaryAudioSource: SDLPrimaryAudioSource { get set }
Required, Boolean
SDLDiagnosticMessage Class Reference
Section Contents
• -initWithTargetId:length:data:• targetID• messageLength• messageData
Overview
Non periodic vehicle diagnostic request
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull eCallEventActive;
SWIFT
var eCallEventActive: NSNumber & SDLBool { get set }
@since SDL 3.0
-initWithTargetId:length:data:
Undocumented
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
Overview
Response to SDLDiagnosticMessage
Since SmartDeviceLink 3.0
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<NSNumber<SDLInt> *> *_Nonnull messageData;
SWIFT
var messageData: [NSNumber & SDLInt] { get set }
messageDataResult
Array of bytes comprising CAN message result.
Required
SDLDialNumber Class Reference
Section Contents
• -initWithNumber:
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<NSNumber<SDLInt> *> *_Nonnull messageDataResult;
SWIFT
var messageDataResult: [NSNumber & SDLInt] { get set }
• 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
number
Up to 40 character string representing the phone number. All characters
stripped except for ‘0’-‘9’, ‘*’, ‘#’, ‘,’, ‘;’, and ‘+’
OBJECTIVE-C
- (instancetype)initWithNumber:(NSString *)number;
SWIFT
init(number: String)
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
The type of display
Required
textFields
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
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
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
The display’s persistent screen supports.
@since SDL 2.0
Required, Boolean
templatesAvailable
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
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
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
A vehicle data struct for emergency call information
eCallNotificationStatus
References signal “eCallNotification_4A”. See VehicleDataNotificationStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataNotificationStatus _Nonnull eCallNotificationStatus;
SWIFT
var eCallNotificationStatus: SDLVehicleDataNotificationStatus { get set }
auxECallNotificationStatus
References signal “eCallNotification”. See VehicleDataNotificationStatus.
Required
eCallConfirmationStatus
References signal “eCallConfirmation”. See ECallConfirmationStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataNotificationStatus _Nonnull auxECallNotificationStatus;
SWIFT
var auxECallNotificationStatus: SDLVehicleDataNotificationStatus { get set }
SDLEmergencyEvent Class Reference
Section Contents
• emergencyEventType• fuelCutoffStatus• rolloverEvent• maximumChangeVelocity• multipleEvents
Overview
A vehicle data struct for an emergency event
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLECallConfirmationStatus _Nonnull eCallConfirmationStatus;
SWIFT
var eCallConfirmationStatus: SDLECallConfirmationStatus { get set }
emergencyEventType
References signal “VedsEvntType_D_Ltchd”. See EmergencyEventType.
Required
fuelCutoffStatus
References signal “RCM_FuelCutoff”. See FuelCutoffStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLEmergencyEventType _Nonnull emergencyEventType;
SWIFT
var emergencyEventType: SDLEmergencyEventType { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLFuelCutoffStatus _Nonnull fuelCutoffStatus;
rolloverEvent
References signal “VedsEvntRoll_D_Ltchd”. See VehicleDataEventStatus.
Required
maximumChangeVelocity
References signal “VedsMaxDeltaV_D_Ltchd”. Change in velocity in KPH.
Additional reserved values: 0x00 No event, 0xFE Not supported, 0xFF Fault
SWIFT
var fuelCutoffStatus: SDLFuelCutoffStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull rolloverEvent;
SWIFT
var rolloverEvent: SDLVehicleDataEventStatus { get set }
Required
multipleEvents
References signal “VedsMultiEvnt_D_Ltchd”. See VehicleDataEventStatus.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull maximumChangeVelocity;
SWIFT
var maximumChangeVelocity: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataEventStatus _Nonnull multipleEvents;
SDLEncodedSyncPData Class Reference
Section Contents
• data
Overview
Undocumented
data
Contains base64 encoded string of SyncP packets.
Required, Array length 1 - 100, String length 1 - 1,000,000
See
SWIFT
var multipleEvents: SDLVehicleDataEventStatus { get set }
SDLTTSChunk
SDLFile Class Reference
Section Contents
• persistent• overwrite• name• fileURL• data• fileSize• fileType• inputStream• -init• -initWithFileURL:name:persistent:• +persistentFileAtFileURL:name:
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<NSString *> *_Nonnull data;
SWIFT
var data: [String] { get set }
• +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 }
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.
OBJECTIVE-C
@property (assign, readwrite, nonatomic) BOOL overwrite;
SWIFT
var overwrite: Bool { get set }
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSString *_Nonnull name;
SWIFT
var name: String { get }
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.
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.
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) NSURL *fileURL;
SWIFT
var fileURL: URL? { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSData *_Nonnull data;
fileSize
The size of the binary data of the SDLFile.
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.
SWIFT
var data: Data { get }
OBJECTIVE-C
@property (readonly, nonatomic) unsigned long long fileSize;
SWIFT
var fileSize: UInt64 { get }
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.
OBJECTIVE-C
@property (readonly, strong, nonatomic) SDLFileType _Nonnull fileType;
SWIFT
var fileType: SDLFileType { get }
OBJECTIVE-C
@property (readonly, nonatomic) NSInputStream *_Nonnull inputStream;
-init
Undocumented
-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.
SWIFT
var inputStream: InputStream { get }
OBJECTIVE-C
- (instancetype)init NS_UNAVAILABLE;
OBJECTIVE-C
- (nonnull instancetype)initWithFileURL:(nonnull NSURL *)url name:(nonnull NSString *)name persistent:(BOOL)persistent;
url
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.
SWIFT
init(fileURL url: URL, name: String, persistent: Bool)
PARAMETERS
RETURN VALUE
+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
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.
OBJECTIVE-C
+ (nonnull instancetype)persistentFileAtFileURL:(nonnull NSURL *)url name:(nonnull NSString *)name;
PARAMETERS
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.
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
RETURN VALUE
OBJECTIVE-C
+ (nonnull instancetype)fileAtFileURL:(nonnull NSURL *)url name:(nonnull NSString *)name;
SWIFT
convenience init(atFileURL url: URL, name: String)
url
The url to the file on disk that will 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 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.
PARAMETERS
RETURN VALUE
OBJECTIVE-C
- (nonnull instancetype)initWithData:(nonnull NSData *)data name:(nonnull NSString *)name fileExtension:(nonnull NSString *)extension persistent:(BOOL)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
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
SWIFT
init(data: Data, name: String, fileExtension extension: String, persistent: Bool)
PARAMETERS
An instance of this class
+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
RETURN VALUE
OBJECTIVE-C
+ (nonnull instancetype)persistentFileWithData:(nonnull NSData *)data name:(nonnull NSString *)name fileExtension:(nonnull NSString *)extension;
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.
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.
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• -hasUploadedFile:• -deleteRemoteFileWithName:completionHandler:• -deleteRemoteFilesWithNames:completionHandler:• -uploadFile:completionHandler:• -uploadFiles:progressHandler:completionHandler:• -uploadFiles:completionHandler:• -uploadArtwork:completionHandler:• -uploadArtworks:completionHandler:• -uploadArtworks:progressHandler:completionHandler:
RETURN VALUE
• +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
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 }
currentState
The state of the file manager.
OBJECTIVE-C
@property (readonly, assign, nonatomic) NSUInteger bytesAvailable;
SWIFT
var bytesAvailable: UInt { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSString *_Nonnull currentState;
SWIFT
var currentState: String { get }
pendingTransactions
The currently pending transactions (Upload, Delete, and List Files) in the file
manager
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
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSArray<__kindof NSOperation *> *_Nonnull pendingTransactions;
SWIFT
var pendingTransactions: [Operation] { get }
file manager if other, important operations are taking place over the accessory
connection.
-init
Initialize the class…or not, since this method is unavailable. Dependencies
must be injected using initWithConnectionManager:
OBJECTIVE-C
@property (assign, readwrite, nonatomic) BOOL suspended;
SWIFT
var suspended: Bool { get set }
OBJECTIVE-C
- (nonnull instancetype)init;
nil
-initWithConnectionManager:
Creates a new file manager with a specified connection manager
manager
A connection manager to use to forward on RPCs
An instance of SDLFileManager
RETURN VALUE
OBJECTIVE-C
- (nonnull instancetype)initWithConnectionManager: (nonnull id<SDLConnectionManagerType>)manager;
PARAMETERS
RETURN VALUE
-startWithCompletionHandler:
The manager stars up and attempts to fetch its initial list and transfer initial
files.
completionHandler
OBJECTIVE-C
- (void)startWithCompletionHandler: (nullable SDLFileManagerStartupCompletionHandler)completionHandler;
SWIFT
func start(completionHandler: SDLFileManagerStartupCompletionHandler? = nil)
PARAMETERS
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.
-hasUploadedFile:
Check if the remote system contains a file
OBJECTIVE-C
- (void)stop;
SWIFT
func stop()
OBJECTIVE-C
- (BOOL)hasUploadedFile:(nonnull SDLFile *)file;
file
The file to check
Whether or not the remote system has the file
-deleteRemoteFileWithName:completionHandler:
Delete a file stored on the remote system
SWIFT
func hasUploadedFile(_ file: SDLFile) -> Bool
PARAMETERS
RETURN VALUE
name
The name of the remote file. It should be a name currently stored in
remoteFileNames
completion
OBJECTIVE-C
- (void)deleteRemoteFileWithName:(nonnull SDLFileName *)name completionHandler: (nullable SDLFileManagerDeleteCompletionHandler)completion;
SWIFT
func delete(fileName name: String, completionHandler completion: SDLFileManagerDeleteCompletionHandler? = nil)
PARAMETERS
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
sent to Core, the queue waits until a response is received from Core before the
next the next delete request is sent.
names
OBJECTIVE-C
- (void)deleteRemoteFilesWithNames:(nonnull NSArray<SDLFileName *> *)names completionHandler: (nullable SDLFileManagerMultiDeleteCompletionHandler) completionHandler;
SWIFT
func delete(fileNames names: [String], completionHandler: SDLFileManagerMultiDeleteCompletionHandler? = nil)
PARAMETERS
The names of the files to be deleted
completionHandler
an optional SDLFileManagerMultiDeleteCompletionHandler
-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.
OBJECTIVE-C
- (void)uploadFile:(nonnull SDLFile *)file completionHandler: (nullable SDLFileManagerUploadCompletionHandler)completion;
SWIFT
func upload(file: SDLFile, completionHandler completion: SDLFileManagerUploadCompletionHandler? = nil)
file
An SDLFile that contains metadata about the file to be sent
completion
An optional completion handler that sends an error should one occur.
-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
PARAMETERS
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.
files
An array of SDLFiles to be sent
progressHandler
an optional SDLFileManagerMultiUploadProgressHandler
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)
PARAMETERS
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.
OBJECTIVE-C
- (void)uploadFiles:(nonnull NSArray<SDLFile *> *)files completionHandler: (nullable SDLFileManagerMultiUploadCompletionHandler)completionHandler;
SWIFT
func upload(files: [SDLFile], completionHandler: SDLFileManagerMultiUploadCompletionHandler? = nil)
files
An array of SDLFiles to be sent
completionHandler
An optional SDLFileManagerMultiUploadCompletionHandler
-uploadArtwork:completionHandler:
Uploads an artwork file to the remote file system and returns the name of the
uploaded artwork once completed. If an artwork with the same name is already
on the remote system, the artwork is not uploaded and the artwork name is
simply returned.
PARAMETERS
OBJECTIVE-C
- (void)uploadArtwork:(nonnull SDLArtwork *)artwork completionHandler: (nullable SDLFileManagerUploadArtworkCompletionHandler)completion;
artwork
A SDLArwork containing an image to be sent
completion
An optional completion handler that returns the name of the uploaded
artwork. It also returns an error if the upload fails.
-uploadArtworks:completionHandler:
Uploads an array of artworks to the remote file system. The artworks 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
SWIFT
func upload(artwork: SDLArtwork, completionHandler completion: SDLFileManagerUploadArtworkCompletionHandler? = nil)
PARAMETERS
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.
artworks
An array of SDLArtworks to be sent
completion
An optional SDLFileManagerMultiUploadArtworkCompletionHandler
OBJECTIVE-C
- (void)uploadArtworks:(nonnull NSArray<SDLArtwork *> *)artworks completionHandler: (nullable SDLFileManagerMultiUploadArtworkCompletionHandler)completion;
SWIFT
func upload(artworks: [SDLArtwork], completionHandler completion: SDLFileManagerMultiUploadArtworkCompletionHandler? = nil)
PARAMETERS
-
uploadArtworks:progressHandler:completionHandler:
Uploads an array of artworks to the remote file system. The artworks 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 artwork upload, the progress handler returns the artwork name, 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)uploadArtworks:(nonnull NSArray<SDLArtwork *> *)artworks progressHandler: (nullable SDLFileManagerMultiUploadArtworkProgressHandler) progressHandler completionHandler: (nullable SDLFileManagerMultiUploadArtworkCompletionHandler)completion;
SWIFT
func upload(artworks: [SDLArtwork], progressHandler: SDLFileManagerMultiUploadArtworkProgressHandler?, completionHandler completion: SDLFileManagerMultiUploadArtworkCompletionHandler? = nil)
artworks
An array of SDLArtworks to be sent
progressHandler
An optional SDLFileManagerMultiUploadArtworkProgressHandler
completion
An optional SDLFileManagerMultiUploadArtworkCompletionHandler
+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.
PARAMETERS
OBJECTIVE-C
+ (nonnull NSURL *)temporaryFileDirectory;
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• utcHours• utcMinutes• utcSeconds• compassDirection• pdop• hdop• vdop• actual
SWIFT
class func temporaryFileDirectory() -> URL
RETURN VALUE
• satellites• dimension• altitude• heading• speed
Overview
Describes the GPS data. Not all data will be available on all carlines.
@since SDL 2.0
longitudeDegrees
longitude degrees
Required, Float, -180 - 180
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull longitudeDegrees;
SWIFT
var longitudeDegrees: NSNumber & SDLFloat { get set }
latitudeDegrees
latitude degrees
Required, Float, -90 - 90
utcYear
utc year
Required, Integer, 2010 - 2100
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull latitudeDegrees;
SWIFT
var latitudeDegrees: NSNumber & SDLFloat { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcYear;
utcMonth
utc month
Required, Integer, 1 - 12
utcDay
utc day
Required, Integer, 1 - 31
SWIFT
var utcYear: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcMonth;
SWIFT
var utcMonth: NSNumber & SDLInt { get set }
utcHours
utc hours
Required, Integer, 0 - 23
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcDay;
SWIFT
var utcDay: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcHours;
utcMinutes
utc minutes
Required, Integer, 0 - 59
utcSeconds
utc seconds
Required, Integer, 0 - 59
SWIFT
var utcHours: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcMinutes;
SWIFT
var utcMinutes: NSNumber & SDLInt { get set }
compassDirection
Potential Compass Directions
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull utcSeconds;
SWIFT
var utcSeconds: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLCompassDirection _Nonnull compassDirection;
SWIFT
var compassDirection: SDLCompassDirection { get set }
pdop
The 3D positional dilution of precision.
@discussion If undefined or unavailable, then value shall be set to 0
Required, Float, 0.0 - 10.0
hdop
The horizontal 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) NSNumber<SDLFloat> *_Nonnull pdop;
SWIFT
var pdop: NSNumber & SDLFloat { get set }
vdop
the vertical 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) NSNumber<SDLFloat> *_Nonnull hdop;
SWIFT
var hdop: NSNumber & SDLFloat { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull vdop;
actual
What the coordinates are based on
@discussion YES, if coordinates are based on satellites. NO, if based on dead
reckoning.
Required, Boolean
SWIFT
var vdop: NSNumber & SDLFloat { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull actual;
SWIFT
var actual: NSNumber & SDLBool { get set }
satellites
The number of satellites in view
Required, Integer, 0 - 31
dimension
The supported dimensions of the GPS
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull satellites;
SWIFT
var satellites: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLDimension _Nonnull dimension;
altitude
Altitude in meters
Required, Float, -10000.0 - 10000.0
heading
Heading based on the GPS data.
@discussion North is 0, East is 90, etc. Resolution is 0.01
SWIFT
var dimension: SDLDimension { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull altitude;
SWIFT
var altitude: NSNumber & SDLFloat { get set }
Required, Float, 0.0 - 359.99
speed
Speed in KPH
Required, Float, 0.0 - 500.0
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull heading;
SWIFT
var heading: NSNumber & SDLFloat { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull speed;
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
Function Group: ProprietaryData
HMILevel needs to be FULL, LIMITED or BACKGROUND
-initWithECUName:
Undocumented
SWIFT
var speed: NSNumber & SDLFloat { get set }
-initWithECUName:mask:
Undocumented
OBJECTIVE-C
- (instancetype)initWithECUName:(UInt16)name;
SWIFT
init(ecuName name: UInt16)
OBJECTIVE-C
- (instancetype)initWithECUName:(UInt16)name mask:(UInt8)mask;
SWIFT
init(ecuName name: UInt16, mask: UInt8)
ecuName
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
DTC Mask Byte to be sent in diagnostic request to module. NSNumber* dtcMask
Minvalue:0; Maxvalue:255
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull ecuName;
SWIFT
var ecuName: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *dtcMask;
SDLGetDTCsResponse Class Reference
Section Contents
• ecuHeader• dtc
Overview
Response to SDLGetDTCs
Since SmartDeviceLink 2.0
ecuHeader
2 byte ECU Header for DTC response (as defined in
VHR_Layout_Specification_DTCs.pdf)
SWIFT
var dtcMask: (NSNumber & SDLInt)? { get set }
dtc
Array of all reported DTCs on module (ecuHeader contains information if list is
truncated). Each DTC is represented by 4 bytes (3 bytes of data and 1 byte
status as defined in VHR_Layout_Specification_DTCs.pdf).
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull ecuHeader;
SWIFT
var ecuHeader: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<NSString *> *_Nonnull 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
A response to SDLGetInteriorVehicleData
moduleData
The requested data
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLModuleData *_Nonnull moduleData;
SWIFT
var moduleData: SDLModuleData { get set }
isSubscribed
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
Response to SDLGetSystemCapability
systemCapability
The requested system capability, of the type that was sent in the request
SDLGetVehicleData Class Reference
Section Contents
• -
initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clusterModeStatus:deviceStatus:
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSystemCapability *_Nonnull systemCapability;
SWIFT
var systemCapability: SDLSystemCapability { get set }
• gps• 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
A boolean value. If true, requests Gps data
speed
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
A boolean value. If true, requests rpm data
fuelLevel
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
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
A boolean value. If true, requests instantFuelConsumption data
externalTemperature
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
A boolean value. If true, requests Vehicle Identification Number
prndl
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
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
A boolean value. If true, requests odometer data
beltStatus
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
A boolean value. If true, requests body Information data
deviceStatus
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
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
A boolean value. If true, requests wiper Status data
headLampStatus
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
A boolean value. If true, requests Engine Torque data
accPedalPosition
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
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
If true, the Emergency Call notification and confirmation data has been
subscribed
airbagStatus
If true, the status of the air bags has been subscribed
SWIFT
var steeringWheelAngle: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *eCallInfo;
SWIFT
var eCallInfo: (NSNumber & SDLBool)? { get set }
emergencyEvent
If true, information related to an emergency event (and if it occurred) has been
subscribed
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *airbagStatus;
SWIFT
var airbagStatus: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *emergencyEvent;
clusterModeStatus
If true, the status modes of the cluster have been subscribed
myKey
If true, information related to the MyKey feature has been subscribed
SWIFT
var emergencyEvent: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *clusterModeStatus;
SWIFT
var clusterModeStatus: (NSNumber & SDLBool)? { get set }
SDLGetVehicleDataResponse ClassReference
Section Contents
• gps• speed• rpm• fuelLevel• fuelLevel_State• instantFuelConsumption• externalTemperature• vin• prndl• tirePressure
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *myKey;
SWIFT
var myKey: (NSNumber & SDLBool)? { get set }
• odometer• beltStatus• bodyInformation• deviceStatus• driverBraking• wiperStatus• headLampStatus• engineTorque• accPedalPosition• steeringWheelAngle• eCallInfo• airbagStatus• emergencyEvent• clusterModeStatus• myKey
Overview
Response to SDLGetVehicleData
Since SmartDeviceLink 2.0
gps
The car current GPS coordinates
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLGPSData *gps;
speed
The vehicle speed in kilometers per hour
rpm
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
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
The fuel level state
instantFuelConsumption
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
The external temperature in degrees celsius.
vin
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
The current gear shift state of the user’s vehicle
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
The current pressure warnings for the user’s vehicle
odometer
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
The status of the seat belts
bodyInformation
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
The IVI system 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;
SWIFT
var deviceStatus: SDLDeviceStatus? { get set }
driverBraking
The status of the brake pedal
wiperStatus
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;
headLampStatus
Status of the head lamps
engineTorque
Torque value for engine (in Nm) on non-diesel variants
SWIFT
var wiperStatus: SDLWiperStatus? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLHeadLampStatus *headLampStatus;
SWIFT
var headLampStatus: SDLHeadLampStatus? { get set }
accPedalPosition
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;
SWIFT
var accPedalPosition: (NSNumber & SDLFloat)? { get set }
steeringWheelAngle
Current angle of the steering wheel (in deg)
eCallInfo
Emergency Call notification and confirmation data
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *steeringWheelAngle;
SWIFT
var steeringWheelAngle: (NSNumber & SDLFloat)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLECallInfo *eCallInfo;
airbagStatus
The status of the air bags
emergencyEvent
Information related to an emergency event (and if it occurred)
SWIFT
var eCallInfo: SDLECallInfo? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLAirbagStatus *airbagStatus;
SWIFT
var airbagStatus: SDLAirbagStatus? { get set }
clusterModeStatus
The status modes of the cluster
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLEmergencyEvent *emergencyEvent;
SWIFT
var emergencyEvent: SDLEmergencyEvent? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLClusterModeStatus *clusterModeStatus;
SWIFT
var clusterModeStatus: SDLClusterModeStatus? { get set }
myKey
Information related to the MyKey feature
SDLHMICapabilities Class Reference
Section Contents
• navigation• phoneCall• videoStreaming
Overview
Undocumented
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLMyKey *myKey;
SWIFT
var myKey: SDLMyKey? { get set }
navigation
Availability of built in Nav. True: Available, False: Not Available
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
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
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
The position of the haptic rectangle to be highlighted. The center of this
rectangle will be “touched” when a press occurs.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLUInt> *_Nonnull id;
SWIFT
var id: NSNumber & SDLUInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLRectangle *_Nonnull rect;
SDLHeadLampStatus Class Reference
Section Contents
• lowBeamsOn• highBeamsOn• ambientLightSensorStatus
Overview
Vehicle data struct for status of head lamps
lowBeamsOn
Low beams are on or off.
Required, boolean
SWIFT
var rect: SDLRectangle { get set }
highBeamsOn
High beams are on or off
Required, boolean
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull lowBeamsOn;
SWIFT
var lowBeamsOn: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull highBeamsOn;
ambientLightSensorStatus
Status of the ambient light senser
Optional
SWIFT
var highBeamsOn: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLAmbientLightStatus ambientLightSensorStatus;
SWIFT
var ambientLightSensorStatus: SDLAmbientLightStatus? { get set }
SDLImage Class Reference
Section Contents
• -initWithName:ofType:• -initWithName:• -initWithStaticImageValue:• 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;
-initWithName:
Undocumented
-initWithStaticImageValue:
Undocumented
SWIFT
init(name: String, ofType imageType: SDLImageType)
OBJECTIVE-C
- (instancetype)initWithName:(NSString *)name;
SWIFT
init(name: String)
value
The static hex icon value or the binary image file name identifier (sent by
SDLPutFile)
Required, max length = 65535
OBJECTIVE-C
- (instancetype)initWithStaticImageValue:(UInt16)staticImageValue;
SWIFT
init(staticImageValue: UInt16)
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull value;
imageType
Describes whether the image is static or dynamic
Required
SWIFT
var value: String { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLImageType _Nonnull imageType;
SWIFT
var imageType: SDLImageType { get set }
SDLImageField Class Reference
Section Contents
• name• imageTypeSupported• imageResolution
Overview
A struct used in DisplayCapabilities describing the capability of an image field
name
The name that identifies the field.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLImageFieldName _Nonnull name;
SWIFT
var name: SDLImageFieldName { get set }
imageTypeSupported
The image types that are supported in this field.
Required
imageResolution
The image resolution of this field
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<SDLFileType> *_Nonnull imageTypeSupported;
SWIFT
var imageTypeSupported: [SDLFileType] { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLImageResolution *imageResolution;
SDLImageResolution Class Reference
Section Contents
• resolutionWidth• resolutionHeight• -initWithWidth:height:
Overview
The resolution of an image
resolutionWidth
Resolution width
Required
SWIFT
var imageResolution: SDLImageResolution? { get set }
resolutionHeight
Resolution height
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull resolutionWidth;
SWIFT
var resolutionWidth: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull resolutionHeight;
-initWithWidth:height:
Undocumented
SWIFT
var resolutionHeight: NSNumber & SDLInt { get set }
OBJECTIVE-C
- (instancetype)initWithWidth:(uint16_t)width height:(uint16_t)height;
SWIFT
init(width: UInt16, height: UInt16)
SDLKeyboardProperties Class Reference
Section Contents
• -
initWithLanguage:layout:keypressMode:limitedCharacterList:autoCompleteText:• language• keyboardLayout• keypressMode• limitedCharacterList• autoCompleteText
Overview
Configuration of on-screen keyboard (if available)
-
initWithLanguage:layout:keypressMode:limitedCharacterList:autoCompleteText
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;
language
The keyboard language
Optional
keyboardLayout
Desired keyboard layout
SWIFT
init(language: SDLLanguage?, layout: SDLKeyboardLayout?, keypressMode: SDLKeypressMode?, limitedCharacterList: [String]?, autoCompleteText: String?)
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLLanguage language;
SWIFT
var language: SDLLanguage? { get set }
Optional
keypressMode
Desired keypress mode.
If omitted, this value will be set to RESEND_CURRENT_ENTRY.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLKeyboardLayout keyboardLayout;
SWIFT
var keyboardLayout: SDLKeyboardLayout? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLKeypressMode keypressMode;
limitedCharacterList
Array of keyboard characters to enable. All omitted characters will be greyed
out (disabled) on the keyboard. If omitted, the entire keyboard will be enabled.
Optional
autoCompleteText
Allows an app to prepopulate the text field with a suggested or completed entry
as the user types
SWIFT
var keypressMode: SDLKeypressMode? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<NSString *> *limitedCharacterList;
SWIFT
var limitedCharacterList: [String]? { get set }
Optional
SDLLifecycleConfiguration ClassReference
Section Contents
• -init• +defaultConfigurationWithAppName:appId:• +debugConfigurationWithAppName:appId:ipAddress:port:• tcpDebugMode• tcpDebugIPAddress• tcpDebugPort• appName• appId
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *autoCompleteText;
SWIFT
var autoCompleteText: String? { get set }
• resumeHash• isMedia• appType• additionalAppTypes• 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 (readwrite, 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 set }
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
additionalAppTypes
Additional application types beyond appType
OBJECTIVE-C
@property (readwrite, strong, nonatomic, null_resettable) SDLAppHMIType appType;
SWIFT
var appType: SDLAppHMIType! { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSArray<SDLAppHMIType> *additionalAppTypes;
language
The default language to use
languagesSupported
An array of all the supported languages
SWIFT
var additionalAppTypes: [SDLAppHMIType]? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull language;
SWIFT
var language: SDLLanguage { get set }
appIcon
The application icon to be used on an app launching screen
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<SDLLanguage> *_Nonnull languagesSupported;
SWIFT
var languagesSupported: [SDLLanguage] { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLFile *appIcon;
SWIFT
var appIcon: SDLFile? { get set }
shortAppName
An abbrevited application name that will be used on the app launching screen if
the full one would be truncated
ttsName
A Text to Speech String for voice recognition of the mobile application name.
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *shortAppName;
SWIFT
var shortAppName: String? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSArray<SDLTTSChunk *> *ttsName;
voiceRecognitionCommandNames
Additional voice recognition commands. May not interfere with any other app
name or global commands.
SWIFT
var ttsName: [SDLTTSChunk]? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSArray<NSString *> *voiceRecognitionCommandNames;
SWIFT
var voiceRecognitionCommandNames: [String]? { get set }
SDLLifecycleConfigurationUpdate ClassReference
Section Contents
• appName• shortAppName• ttsName• voiceRecognitionCommandNames• -
initWithAppName:shortAppName:ttsName:voiceRecognitionCommandNames:
Overview
Configuration update options for SDLManager. This class can be used to update
the lifecycle configuration in cases the language of the head unit changes or
does not match the app language.
appName
The full name of the app to that the configuration should be updated to.
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *appName;
shortAppName
An abbrevited application name that will be used on the app launching screen if
the full one would be truncated.
ttsName
A Text to Speech String for voice recognition of the mobile application name.
SWIFT
var appName: String? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *shortAppName;
SWIFT
var shortAppName: String? { get set }
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;
-
initWithAppName:shortAppName:ttsName:voiceRecognitionCommandNames:
Initializes and returns a newly allocated lifecycle configuration update object
with the specified app data. This is a convenience initializer for -init.
SWIFT
var voiceRecognitionCommandNames: [String]? { get set }
OBJECTIVE-C
- (nonnull instancetype)initWithAppName:(nullable NSString *)appName shortAppName:(nullable NSString *)shortAppName ttsName: (nullable NSArray<SDLTTSChunk *> *)ttsName voiceRecognitionCommandNames: (nullable NSArray<NSString *> *)voiceRecognitionCommandNames;
SWIFT
init(appName: String?, shortAppName: String?, ttsName: [SDLTTSChunk]?, voiceRecognitionCommandNames: [String]?)
appName
The full name of the app to that the configuration should be updated
to.
shortAppName
An abbrevited application name that will be used on the app launching
screen if the full one would be truncated.
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.
SDLListFilesResponse Class Reference
Section Contents
• filenames• spaceAvailable
PARAMETERS
Overview
Response to SDLListFiles
Since SmartDeviceLink 2.0
filenames
An array of all filenames resident on the module for the given registered app. If
omitted, then no files currently reside on the system.
spaceAvailable
Provides the total local space available on the module for the registered app.
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<NSString *> *filenames;
SWIFT
var filenames: [String]? { get set }
SDLLocationCoordinate Class Reference
Section Contents
• latitudeDegrees• longitudeDegrees
Overview
Describes a coordinate on earth
latitudeDegrees
Latitude of the location
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull spaceAvailable;
SWIFT
var spaceAvailable: NSNumber & SDLInt { get set }
Required, Double -90 - 90
longitudeDegrees
Longitude of the location
Required, Double -180 - 180
OBJECTIVE-C
@property (readwrite, copy, nonatomic) NSNumber<SDLFloat> *_Nonnull latitudeDegrees;
SWIFT
@NSCopying var latitudeDegrees: NSNumber & SDLFloat { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic) NSNumber<SDLFloat> *_Nonnull longitudeDegrees;
SDLLocationDetails Class Reference
Section Contents
• coordinate• locationName• addressLines• locationDescription• phoneNumber• locationImage• searchAddress
Overview
Describes a location, including its coordinate, name, etc. Used in WayPoints.
coordinate
Latitude/Longitude of the location
SeeSDLLocationCoordinate Optional
SWIFT
@NSCopying var longitudeDegrees: NSNumber & SDLFloat { get set }
locationName
Name of location.
Optional, Max length 500 chars
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLLocationCoordinate *coordinate;
SWIFT
var coordinate: SDLLocationCoordinate? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *locationName;
addressLines
Location address for display purposes only.
Optional, Array of Strings, Array length 0 - 4, Max String length 500
locationDescription
Description intended location / establishment.
Optional, Max length 500 chars
SWIFT
var locationName: String? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSArray<NSString *> *addressLines;
SWIFT
var addressLines: [String]? { get set }
phoneNumber
Phone number of location / establishment.
Optional, Max length 500 chars
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *locationDescription;
SWIFT
var locationDescription: String? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *phoneNumber;
locationImage
Image / icon of intended location.
SeeSDLImage Optional
searchAddress
Address to be used by navigation engines for search.
See
SWIFT
var phoneNumber: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLImage *locationImage;
SWIFT
var locationImage: SDLImage? { get set }
SDLOASISAddress Optional
SDLLockScreenConfiguration ClassReference
Section Contents
• showInOptionalState• enableAutomaticLockScreen• backgroundColor• appIcon• customViewController• -init• +disabledConfiguration• +enabledConfiguration
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLOasisAddress *searchAddress;
SWIFT
var searchAddress: SDLOasisAddress? { get set }
• +enabledConfigurationWithAppIcon:backgroundColor:• +enabledConfigurationWithViewController:
Overview
Undocumented
showInOptionalState
Whether or not the lock screen should be shown in the “lock screen optional”
state. Defaults to ‘NO’.
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.
OBJECTIVE-C
@property (assign, readwrite, nonatomic) BOOL showInOptionalState;
SWIFT
var showInOptionalState: Bool { get set }
backgroundColor
The background color of the lock screen. This could be a branding color, or
leave at the default for a dark blue-gray.
OBJECTIVE-C
@property (readonly, assign, nonatomic) BOOL enableAutomaticLockScreen;
SWIFT
var enableAutomaticLockScreen: Bool { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic) UIColor *_Nonnull backgroundColor;
appIcon
Your app icon as it will appear on the lock screen.
customViewController
A custom view controller that the lock screen will manage the presentation of.
SWIFT
@NSCopying var backgroundColor: UIColor { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) UIImage *appIcon;
SWIFT
@NSCopying var appIcon: UIImage? { get }
-init
Undocumented
+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.
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) UIViewController *customViewController;
SWIFT
var customViewController: UIViewController? { get }
OBJECTIVE-C
- (instancetype)init NS_UNAVAILABLE;
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
OBJECTIVE-C
+ (nonnull instancetype)enabledConfiguration;
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.
SWIFT
class func enabled() -> Self
RETURN VALUE
OBJECTIVE-C
+ (nonnull instancetype)enabledConfigurationWithAppIcon:(nonnull UIImage *)lockScreenAppIcon backgroundColor:(nullable UIColor *)lockScreenBackgroundColor;
lockScreenAppIcon
The app icon to be shown on the lock screen
lockScreenBackgroundColor
The color of the lock screen background
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
SWIFT
class func enabledConfiguration(withAppIcon lockScreenAppIcon: UIImage, backgroundColor lockScreenBackgroundColor: UIColor?) -> Self
PARAMETERS
RETURN VALUE
SDLLockScreenViewController and pass it here to continue to have the vehicle
icon set to your view controller by the manager.
viewController
The view controller to be managed
The configuration
OBJECTIVE-C
+ (nonnull instancetype)enabledConfigurationWithViewController: (nonnull UIViewController *)viewController;
SWIFT
class func enabledConfiguration(with viewController: UIViewController) -> Self
PARAMETERS
RETURN VALUE
SDLLockScreenViewController ClassReference
Section Contents
• appIcon• vehicleIcon• backgroundColor
Overview
Undocumented
appIcon
The app’s icon. This will be set by the lock screen configuration.
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) UIImage *appIcon;
SWIFT
@NSCopying var appIcon: UIImage? { get set }
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.
backgroundColor
The designated background color set in the lock screen configuration, or the
default SDL gray-blue.
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) UIImage *vehicleIcon;
SWIFT
@NSCopying var vehicleIcon: UIImage? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) UIColor *backgroundColor;
SDLLogConfiguration Class Reference
Section Contents
• modules• targets• filters• formatType• asynchronous• errorsAsynchronous• globalLogLevel• +defaultConfiguration• +debugConfiguration
Overview
Undocumented
modules
Any custom logging modules used by the developer’s code. Defaults to none.
SWIFT
@NSCopying var backgroundColor: UIColor? { get set }
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 }
OBJECTIVE-C
@property (readwrite, copy, nonatomic) NSSet<id<SDLLogTarget>> *_Nonnull targets;
SWIFT
var targets: Set<AnyHashable> { get set }
filters
What log filters will run over this session. Defaults to none.
formatType
How detailed of logs will be output. Defaults to Default.
OBJECTIVE-C
@property (readwrite, copy, nonatomic) NSSet<SDLLogFilter *> *_Nonnull filters;
SWIFT
var filters: Set<SDLLogFilter> { get set }
OBJECTIVE-C
@property (assign, readwrite, nonatomic) SDLLogFormatType formatType;
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.
SWIFT
var formatType: SDLLogFormatType { get set }
OBJECTIVE-C
@property (getter=isAsynchronous, assign, readwrite, nonatomic) BOOL asynchronous;
SWIFT
var isAsynchronous: Bool { get set }
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.
OBJECTIVE-C
@property (getter=areErrorsAsynchronous, assign, readwrite, nonatomic) BOOL errorsAsynchronous;
SWIFT
var areErrorsAsynchronous: Bool { get set }
OBJECTIVE-C
@property (assign, readwrite, nonatomic) SDLLogLevel globalLogLevel;
+defaultConfiguration
A default logger for production. This sets the format type to Default, the log
level to Error, and only enables the ASL logger.
A default configuration that may be customized.
SWIFT
var globalLogLevel: SDLLogLevel { get set }
OBJECTIVE-C
+ (nonnull instancetype)defaultConfiguration;
SWIFT
class func `default`() -> Self
RETURN VALUE
+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.
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
Active log modules
targets
Active log targets
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSSet<SDLLogFileModule *> *_Nonnull modules;
SWIFT
var modules: Set<AnyHashable> { get }
filters
Active log filters
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSSet<id<SDLLogTarget>> *_Nonnull targets;
SWIFT
var targets: Set<AnyHashable> { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSSet<SDLLogFilter *> *_Nonnull 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
Active log format
OBJECTIVE-C
@property (readonly, assign, nonatomic) SDLLogLevel globalLogLevel;
SWIFT
var globalLogLevel: SDLLogLevel { get }
OBJECTIVE-C
@property (readonly, assign, nonatomic) SDLLogFormatType formatType;
asynchronous
Whether or not verbose, debug, and warning logs are logged asynchronously. If
logs are performed async, then some may be missed in the event of a
terminating signal such as an exception, but performance is improved and your
code will not be slowed by logging.
Defaults to TRUE
SWIFT
var formatType: SDLLogFormatType { get }
OBJECTIVE-C
@property (readonly, getter=isAsynchronous, assign, nonatomic) BOOL asynchronous;
SWIFT
var isAsynchronous: Bool { get }
errorsAsynchronous
Whether or not error logs are logged asynchronously. If logs are performed
async, then some may be missed in the event of a terminating signal such as
an exception, but performance is improved and your code will not be slowed by
logging.
Defaults to FALSE
dateFormatter
Active date formatter
OBJECTIVE-C
@property (readonly, getter=areErrorsAsynchronous, assign, nonatomic) BOOL errorsAsynchronous;
SWIFT
var areErrorsAsynchronous: Bool { get }
logQueue
The queue asynchronously logged logs are logged on. Say that 10 times fast.
OBJECTIVE-C
@property (readonly, strong, nonatomic, class) NSDateFormatter *_Nonnull dateFormatter;
SWIFT
class var dateFormatter: DateFormatter { get }
OBJECTIVE-C
@property (readonly, assign, nonatomic, class) dispatch_queue_t _Nonnull logQueue;
SWIFT
unowned(unsafe) class var logQueue: DispatchQueue { get }
+sharedManager
The singleton object
The singleton object
+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.
OBJECTIVE-C
+ (nonnull SDLLogManager *)sharedManager;
SWIFT
class func shared() -> SDLLogManager
RETURN VALUE
configuration
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.
OBJECTIVE-C
+ (void)setConfiguration:(nonnull SDLLogConfiguration *)configuration;
SWIFT
class func setConfiguration(_ configuration: SDLLogConfiguration)
PARAMETERS
configuration
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 .
OBJECTIVE-C
- (void)setConfiguration:(nonnull SDLLogConfiguration *)configuration;
SWIFT
func setConfiguration(_ configuration: SDLLogConfiguration)
PARAMETERS
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
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
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 .
level
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
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
+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
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
class 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
-
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• screenManager• systemCapabilityManager• registerResponse• delegate• pendingRPCTransactions• proxy• -initWithConfiguration:delegate:• -startWithReadyHandler:• -stop• -sendRequest:• -sendRequest:withResponseHandler:• -sendRequests:progressHandler:completionHandler:• -sendSequentialRequests:progressHandler:completionHandler:
Overview
Undocumented
configuration
The configuration the manager was set up with.
OBJECTIVE-C
@property (readonly, copy, nonatomic) SDLConfiguration *_Nonnull configuration;
hmiLevel
The current HMI level of the running app.
audioStreamingState
The current audio streaming state of the running app.
SWIFT
@NSCopying var configuration: SDLConfiguration { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) SDLHMILevel hmiLevel;
SWIFT
var hmiLevel: SDLHMILevel? { get }
systemContext
The current system context of the running app.
OBJECTIVE-C
@property (readonly, copy, nonatomic) SDLAudioStreamingState _Nonnull audioStreamingState;
SWIFT
var audioStreamingState: SDLAudioStreamingState { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic) SDLSystemContext _Nonnull systemContext;
SWIFT
var systemContext: SDLSystemContext { get }
fileManager
The file manager to be used by the running app.
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;
streamManager
The streaming media manager to be used for starting video sessions.
screenManager
The screen manager for sending UI related RPCs.
SWIFT
var permissionManager: SDLPermissionManager { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLStreamingMediaManager *streamManager;
SWIFT
var streamManager: SDLStreamingMediaManager? { get }
systemCapabilityManager
Centralized manager for retrieving all system capabilities.
OBJECTIVE-C
@property (readonly, strong, nonatomic) SDLScreenManager *_Nonnull screenManager;
SWIFT
var screenManager: SDLScreenManager { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic) SDLSystemCapabilityManager *_Nonnull systemCapabilityManager;
SWIFT
var systemCapabilityManager: SDLSystemCapabilityManager { get }
registerResponse
The response of a register call after it has been received.
delegate
The manager’s delegate.
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLRegisterAppInterfaceResponse *registerResponse;
SWIFT
var registerResponse: SDLRegisterAppInterfaceResponse? { get }
OBJECTIVE-C
@property (readwrite, nonatomic, nullable) id<SDLManagerDelegate> delegate;
pendingRPCTransactions
The currently pending RPC request send transactions
proxy
Undocumented
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSArray<__kindof NSOperation *> *_Nonnull pendingRPCTransactions;
SWIFT
var pendingRPCTransactions: [Operation] { get }
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
-sendRequests:progressHandler:completionHandler:
Send all of the requests given as quickly as possible, but in order. Call the
completionHandler after all requests have either failed or given a response.
OBJECTIVE-C
- (void)sendRequest:(nonnull SDLRPCRequest *)request withResponseHandler:(nullable SDLResponseHandler)handler;
SWIFT
func send(request: SDLRPCRequest, responseHandler handler: SDLResponseHandler? = nil)
PARAMETERS
requests
The requests to be sent
progressHandler
A handler called every time a response is received
OBJECTIVE-C
- (void)sendRequests:(nonnull NSArray<SDLRPCRequest *> *)requests progressHandler: (nullable SDLMultipleAsyncRequestProgressHandler)progressHandler completionHandler: (nullable SDLMultipleRequestCompletionHandler)completionHandler;
SWIFT
func send(_ requests: [SDLRPCRequest], progressHandler: SDLMultipleAsyncRequestProgressHandler?, completionHandler: SDLMultipleRequestCompletionHandler? = nil)
PARAMETERS
completionHandler
A handler to call when all requests have been responded to
-
sendSequentialRequests:progressHandler:completionHandler:
Send all of the requests one at a time, with the next one going out only after
the previous one has received a response. Call the completionHandler after all
requests have either failed or given a response.
OBJECTIVE-C
- (void)sendSequentialRequests:(nonnull NSArray<SDLRPCRequest *> *)requests progressHandler: (nullable SDLMultipleSequentialRequestProgressHandler)progressHandler completionHandler: (nullable SDLMultipleRequestCompletionHandler)completionHandler;
SWIFT
func sendSequential(requests: [SDLRPCRequest], progressHandler: SDLMultipleSequentialRequestProgressHandler?, completionHandler: SDLMultipleRequestCompletionHandler? = nil)
requests
The requests to be sent
progressHandler
A handler called every time a response is received. Return NO to cancel
any requests that have not yet been sent, YES to continue sending
requests.
completionHandler
A handler to call when all requests have been responded to
SDLMenuCell Class Reference
Section Contents
• title• icon• voiceCommands• handler• subCells• -initWithTitle:icon:voiceCommands:handler:• -initWithTitle:subCells:
PARAMETERS
Overview
Undocumented
title
The cell’s text to be displayed
icon
The cell’s icon to be displayed
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSString *_Nonnull title;
SWIFT
var title: String { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLArtwork *icon;
voiceCommands
The strings the user can say to activate this voice command
handler
The handler that will be called when the command is activated
SWIFT
var icon: SDLArtwork? { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) NSArray<NSString *> *voiceCommands;
SWIFT
var voiceCommands: [String]? { get }
subCells
If this is non-nil, this cell will be a sub-menu button, displaying the subcells in a
menu when pressed.
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) SDLMenuCellSelectionHandler handler;
SWIFT
var handler: SDLMenuCellSelectionHandler? { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) NSArray<SDLMenuCell *> *subCells;
-initWithTitle:icon:voiceCommands:handler:
Undocumented
-initWithTitle:subCells:
Undocumented
SWIFT
var subCells: [SDLMenuCell]? { get }
OBJECTIVE-C
- (instancetype)initWithTitle:(NSString *)title icon:(nullable SDLArtwork *)icon voiceCommands:(nullable NSArray<NSString *> *)voiceCommands handler:(SDLMenuCellSelectionHandler)handler;
SWIFT
init(title: String, icon: SDLArtwork?, voiceCommands: [String]?, handler: @escaping SDLMenuCellSelectionHandler)
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
OBJECTIVE-C
- (instancetype)initWithTitle:(NSString *)title subCells:(NSArray<SDLMenuCell *> *)subCells;
SWIFT
init(title: String, subCells: [SDLMenuCell])
-initWithMenuName:
Undocumented
-initWithMenuName:parentId:position:
Undocumented
OBJECTIVE-C
- (instancetype)initWithMenuName:(NSString *)menuName;
SWIFT
init(menuName: String)
OBJECTIVE-C
- (instancetype)initWithMenuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position;
parentID
The unique ID of an existing submenu to which a command will be added
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, parentId: UInt32, position: UInt16)
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *parentID;
SWIFT
var parentID: (NSNumber & SDLInt)? { get set }
position
The position within the items of the parent 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.
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
menuName
The menu name which appears in menu, representing this command
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *position;
SWIFT
var position: (NSNumber & SDLInt)? { get set }
Required, max length 500 characters
SDLMetadataTags Class Reference
Section Contents
• -initWithTextFieldTypes:mainField2:• -initWithTextFieldTypes:mainField2:mainField3:mainField4:• mainField1• mainField2• mainField3
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull menuName;
SWIFT
var menuName: String { get set }
• mainField4
Overview
Undocumented
-initWithTextFieldTypes:mainField2:
Constructs a newly allocated SDLMetadataType object with NSArrays
-
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]?)
mainField1
The type of data contained in the “mainField1” text field.
minsize= 0, maxsize= 5
Optional
OBJECTIVE-C
- (instancetype)initWithTextFieldTypes:(nullable NSArray<SDLMetadataType> *)mainField1 mainField2:(nullable NSArray<SDLMetadataType> *)mainField2 mainField3:(nullable NSArray<SDLMetadataType> *)mainField3 mainField4:(nullable NSArray<SDLMetadataType> *)mainField4;
SWIFT
init(textFieldTypes mainField1: [SDLMetadataType]?, mainField2: [SDLMetadataType]?, mainField3: [SDLMetadataType]?, mainField4: [SDLMetadataType]?)
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLMetadataType> *mainField1;
mainField2
The type of data contained in the “mainField2” text field.
minsize= 0, maxsize= 5
Optional
mainField3
The type of data contained in the “mainField3” text field.
SWIFT
var mainField1: [SDLMetadataType]? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLMetadataType> *mainField2;
SWIFT
var mainField2: [SDLMetadataType]? { get set }
minsize= 0, maxsize= 5
Optional
mainField4
The type of data contained in the “mainField4” text field.
minsize= 0, maxsize= 5
Optional
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
Describes a remote control module’s data
-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
Required
radioControlData
The radio control data
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLModuleType _Nonnull moduleType;
SWIFT
var moduleType: SDLModuleType { get set }
climateControlData
The climate control data
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLRadioControlData *radioControlData;
SWIFT
var radioControlData: SDLRadioControlData? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLClimateControlData *climateControlData;
SDLMyKey Class Reference
Section Contents
• e911Override
Overview
Vehicle Data struct
e911Override
Indicates whether e911 override is on. References signal “
MyKey_e911Override_St”. See VehicleDataStatus.
SWIFT
var climateControlData: SDLClimateControlData? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataStatus _Nonnull e911Override;
SDLNavigationCapability ClassReference
Section Contents
• -initWithSendLocation:waypoints:• sendLocationEnabled• getWayPointsEnabled
Overview
Extended capabilities for an onboard navigation system
-initWithSendLocation:waypoints:
Undocumented
SWIFT
var e911Override: SDLVehicleDataStatus { get set }
sendLocationEnabled
Whether or not the SendLocation RPC is enabled.
Boolean, optional
OBJECTIVE-C
- (instancetype)initWithSendLocation:(BOOL)sendLocationEnabled waypoints:(BOOL)waypointsEnabled;
SWIFT
init(sendLocation sendLocationEnabled: Bool, waypoints waypointsEnabled: Bool)
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSNumber *sendLocationEnabled;
getWayPointsEnabled
Whether or not Waypoint related RPCs are enabled.
Boolean, optional
SWIFT
@NSCopying var sendLocationEnabled: NSNumber? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSNumber *getWayPointsEnabled;
SWIFT
@NSCopying var getWayPointsEnabled: NSNumber? { get set }
SDLNotificationConstants ClassReference
Section Contents
• +allResponseNames• +allButtonEventNotifications
Overview
Undocumented
+allResponseNames
All of the possible SDL RPC Response notification names
OBJECTIVE-C
+ (nonnull NSArray<SDLNotificationName> *)allResponseNames;
SWIFT
class func allResponseNames() -> [NSNotification.Name]
The names
+allButtonEventNotifications
All of the possible SDL Button event notification names
The names
RETURN VALUE
OBJECTIVE-C
+ (nonnull NSArray<SDLNotificationName> *)allButtonEventNotifications;
SWIFT
class func allButtonEventNotifications() -> [NSNotification.Name]
RETURN VALUE
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
Struct used in SendLocation describing an address
-
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
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
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
postalCode of location (PLZ, ZIP, PIN, CAP etc.)
Optional, max length = 200
administrativeArea
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
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
Hypernym for city/village
Optional, max length = 200
subLocality
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
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
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
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.
SWIFT
var reason: SDLAppInterfaceUnregisteredReason { get set }
• Media buttons include SEEKLEFT, SEEKRIGHT, TUNEUP, TUNEDOWN, and
PRESET_0-PRESET_9.• 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.
See
SDLSubscribeButton
@since SDL 1.0
buttonName
The name of the button
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull buttonName;
SWIFT
var buttonName: SDLButtonName { get set }
buttonEventMode
Indicates whether this is an UP or DOWN event
customButtonID
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:
SHORT - Occurs when a button is depressed, then released within two seconds.
The event is considered to occur immediately after the button is released.
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *customButtonID;
SWIFT
var customButtonID: (NSNumber & SDLInt)? { get set }
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.
@since SDL 1.0
buttonName
The button’s name
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull buttonName;
buttonPressMode
Indicates whether this is a LONG or SHORT button press event
Required
customButtonID
If ButtonName is “CUSTOM_BUTTON”, this references the integer ID passed by
a custom button. (e.g. softButton ID)
SWIFT
var buttonName: SDLButtonName { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLButtonPressMode _Nonnull buttonPressMode;
SWIFT
var buttonPressMode: SDLButtonPressMode { get set }
@since SDL 2.0
Optional, Integer 0 - 65536
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.
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *customButtonID;
SWIFT
var customButtonID: (NSNumber & SDLInt)? { get set }
Note: The sequence of SDLOnHMIStatus and SDLOnCommand notifications for
user-initiated interactions is indeterminate.
@since SDL 1.0
SeeSDLAddCommand SDLDeleteCommand SDLDeleteSubMenu
cmdID
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.
triggerSource
Indicates whether command was selected via voice or via a menu selection
(using the OK button).
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull cmdID;
SWIFT
var cmdID: NSNumber & SDLInt { 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
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLTriggerSource _Nonnull triggerSource;
SWIFT
var triggerSource: SDLTriggerSource { get set }
AudioStreamingState: Any
SystemContext: Any
@since SDL 1.0
state
The driver distraction state (i.e. whether driver distraction rules are in effect, or
not)
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLDriverDistractionState _Nonnull state;
SWIFT
var state: SDLDriverDistractionState { get set }
SDLOnEncodedSyncPData ClassReference
Section Contents
• data• URL• Timeout
Overview
Callback including encoded data of any SyncP packets that SYNC needs to send
back to the mobile device. Legacy / v1 Protocol implementation; responds to
EncodedSyncPData. *** DEPRECATED ***
data
Contains base64 encoded string of SyncP packets.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<NSString *> *_Nonnull data;
URL
If blank, the SyncP data shall be forwarded to the app. If not blank, the SyncP
data shall be forwarded to the provided URL.
Timeout
If blank, the SyncP data shall be forwarded to the app. If not blank, the SyncP
data shall be forwarded with the provided timeout in seconds.
SWIFT
var data: [String] { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *URL;
SWIFT
var url: String? { 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 (
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *Timeout;
SWIFT
var timeout: (NSNumber & SDLInt)? { get set }
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
SDLHMILevel in effect for the application
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLHMILevel _Nonnull hmiLevel;
SWIFT
var hmiLevel: SDLHMILevel { get set }
audioStreamingState
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).
systemContext
Whether a user-initiated interaction is in-progress (VRSESSION or MENU), or not
(MAIN)
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLAudioStreamingState _Nonnull audioStreamingState;
SWIFT
var audioStreamingState: SDLAudioStreamingState { get set }
SDLOnHashChange Class Reference
Section Contents
• hashID
Overview
Notification containing an updated hashID which can be used over connection
cycles (i.e. loss of connection, ignition cycles, etc.). Sent after initial registration
and subsequently after any change in the calculated hash of all persisted app
data.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSystemContext _Nonnull systemContext;
SWIFT
var systemContext: SDLSystemContext { get set }
hashID
Calculated hash ID to be referenced during RegisterAppInterface request.
SDLOnInteriorVehicleData ClassReference
Section Contents
• moduleData
Overview
Notifications when subscribed vehicle data changes.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull hashID;
SWIFT
var hashID: String { get set }
See: SDLSubscribeVehicleData
moduleData
The subscribed module data that changed
SDLOnKeyboardInput Class Reference
Section Contents
• event
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLModuleData *_Nonnull moduleData;
SWIFT
var moduleData: SDLModuleData { get set }
• data
Overview
Sent when a keyboard presented by a PerformInteraction has a keyboard input.
event
The type of keyboard input
data
The current keyboard string input from the user
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLKeyboardEvent _Nonnull event;
SWIFT
var event: SDLKeyboardEvent { get set }
SDLOnLanguageChange ClassReference
Section Contents
• language• hmiDisplayLanguage
Overview
Provides information to what language the SDL HMI language was changed
@since SDL 2.0
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *data;
SWIFT
var data: String? { get set }
language
Current SDL voice engine (VR+TTS) language
hmiDisplayLanguage
Current display language
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull language;
SWIFT
var language: SDLLanguage { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLLanguage _Nonnull hmiDisplayLanguage;
SDLOnLockScreenStatus ClassReference
Section Contents
• driverDistractionStatus• userSelected• lockScreenStatus• hmiLevel
Overview
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 onOnLoc
kScreenNotification call back. The call back will include the LockScreenStatus
enum which indicates if the lockscreen is required, optional or not required.
SWIFT
var hmiDisplayLanguage: SDLLanguage { get set }
The call back also includes details regarding the current HMI_Status level,
driver distraction status and user selection status of the application.
driverDistractionStatus
Get the current driver distraction status(i.e. whether driver distraction rules are
in effect, or not)
userSelected
Get user selection status for the application (has the app been selected via hmi
or voice command)
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull driverDistractionStatus;
SWIFT
var driverDistractionStatus: NSNumber & SDLBool { get set }
lockScreenStatus
Indicates if the lockscreen should be required, optional or off
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull userSelected;
SWIFT
var userSelected: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLLockScreenStatus _Nonnull lockScreenStatus;
SWIFT
var lockScreenStatus: SDLLockScreenStatus { get set }
hmiLevel
Get HMILevel in effect for the application
SDLOnPermissionsChange ClassReference
Section Contents
• permissionItem
Overview
Provides update to app of which sets of functions are available
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLHMILevel _Nonnull hmiLevel;
SWIFT
var hmiLevel: SDLHMILevel { get set }
@since SDL 2.0
permissionItem
Describes change in permissions for a given set of RPCs
Required, Array of SDLPermissionItem, Array size 0 - 500
SDLOnSyncPData Class Reference
Section Contents
• URL• Timeout
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<SDLPermissionItem *> *_Nonnull permissionItem;
SWIFT
var permissionItem: [SDLPermissionItem] { get set }
Overview
DEPRECATED
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
SDLOnSystemRequest Class Reference
Section Contents
• requestType• url• timeout• fileType• offset• length
Overview
An asynchronous request from the system for specific data from the device or
the cloud or response to a request from the device or cloud Binary data can be
included in hybrid part of message for some requests (such as Authentication
request responses)
requestType
The type of system request.
SWIFT
var timeout: (NSNumber & SDLInt)? { get set }
url
Optional URL for HTTP requests. If blank, the binary data shall be forwarded to
the app. If not blank, the binary data shall be forwarded to the url with a
provided timeout in seconds.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLRequestType _Nonnull requestType;
SWIFT
var requestType: SDLRequestType { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *url;
timeout
Optional timeout for HTTP requests Required if a URL is provided
fileType
Optional file type (meant for HTTP file requests).
SWIFT
var url: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *timeout;
SWIFT
var timeout: (NSNumber & SDLInt)? { get set }
offset
Optional offset in bytes for resuming partial data chunks
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLFileType fileType;
SWIFT
var fileType: SDLFileType? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLUInt> *offset;
SWIFT
var offset: (NSNumber & SDLUInt)? { get set }
length
Optional length in bytes for resuming partial data chunks
SDLOnTBTClientState Class Reference
Section Contents
• state
Overview
Provides applications with notifications specific to the current TBT client status
on the module
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLUInt> *length;
SWIFT
var length: (NSNumber & SDLUInt)? { get set }
state
Current State of TBT client
SDLOnTouchEvent Class Reference
Section Contents
• type• event
Overview
Notifies about touch events on the screen’s prescribed area during video
streaming
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLTBTState _Nonnull state;
SWIFT
var state: SDLTBTState { get set }
type
The type of touch event.
event
List of all individual touches involved in this event.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLTouchType _Nonnull type;
SWIFT
var type: SDLTouchType { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<SDLTouchEvent *> *_Nonnull event;
SDLOnVehicleData Class Reference
Section Contents
• gps• speed• rpm• fuelLevel• fuelLevel_State• instantFuelConsumption• externalTemperature• vin• prndl• tirePressure• odometer• beltStatus• bodyInformation• deviceStatus• driverBraking• wiperStatus• headLampStatus• engineTorque• accPedalPosition• steeringWheelAngle• eCallInfo
SWIFT
var event: [SDLTouchEvent] { get set }
• airbagStatus• emergencyEvent• clusterModeStatus• myKey
Overview
Callback for the periodic and non periodic vehicle data read function.
Since SmartDeviceLink 2.0
gps
The car current GPS coordinates
speed
The vehicle speed in kilometers per hour
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLGPSData *gps;
SWIFT
var gps: SDLGPSData? { get set }
rpm
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
The fuel level in the tank (percentage)
fuelLevel_State
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
The instantaneous fuel consumption in microlitres
externalTemperature
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
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
The current gear shift state of the user’s vehicle
tirePressure
The current pressure warnings for the user’s vehicle
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
Odometer reading in km
beltStatus
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
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;
SWIFT
var bodyInformation: SDLBodyInformation? { get set }
deviceStatus
The IVI system status including signal and battery strength
driverBraking
The status of the brake pedal
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLDeviceStatus *deviceStatus;
SWIFT
var deviceStatus: SDLDeviceStatus? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataEventStatus driverBraking;
wiperStatus
The status of the wipers
headLampStatus
Status of the head lamps
SWIFT
var driverBraking: SDLVehicleDataEventStatus? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLWiperStatus wiperStatus;
SWIFT
var wiperStatus: SDLWiperStatus? { get set }
engineTorque
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;
SWIFT
var engineTorque: (NSNumber & SDLFloat)? { get set }
accPedalPosition
Accelerator pedal position (percentage depressed)
steeringWheelAngle
Current angle of the steering wheel (in deg)
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *accPedalPosition;
SWIFT
var accPedalPosition: (NSNumber & SDLFloat)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *steeringWheelAngle;
eCallInfo
Emergency Call notification and confirmation data
airbagStatus
The status of the air bags
SWIFT
var steeringWheelAngle: (NSNumber & SDLFloat)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLECallInfo *eCallInfo;
SWIFT
var eCallInfo: SDLECallInfo? { get set }
emergencyEvent
Information related to an emergency event (and if it occurred)
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLAirbagStatus *airbagStatus;
SWIFT
var airbagStatus: SDLAirbagStatus? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLEmergencyEvent *emergencyEvent;
SWIFT
var emergencyEvent: SDLEmergencyEvent? { get set }
clusterModeStatus
The status modes of the cluster
myKey
Information related to the MyKey feature
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLClusterModeStatus *clusterModeStatus;
SWIFT
var clusterModeStatus: SDLClusterModeStatus? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLMyKey *myKey;
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
A set of all parameters that are permitted for this given RPC.
Required, Array of String, max String length = 100, Array size 0 - 100
SWIFT
var myKey: SDLMyKey? { get set }
userDisallowed
A set of all parameters that are prohibited 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;
SWIFT
var allowed: [String] { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<NSString *> *_Nonnull userDisallowed;
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
SWIFT
var userDisallowed: [String] { get set }
• 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
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)
-
initWithInitialPrompt:audioPassThruDisplayText1:audioPassThruDisplayText2:sa
Undocumented
-
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)
-
initWithInitialPrompt:audioPassThruDisplayText1:audioPassThruDisplayText2:sa
Undocumented
OBJECTIVE-C
- (instancetype)initWithSamplingRate:(SDLSamplingRate)samplingRate bitsPerSample:(SDLBitsPerSample)bitsPerSample audioType:(SDLAudioType)audioType maxDuration:(UInt32)maxDuration audioDataHandler:(nullable SDLAudioPassThruHandler)audioDataHandler;
SWIFT
init(samplingRate: SDLSamplingRate, bitsPerSample: SDLBitsPerSample, audioType: SDLAudioType, maxDuration: UInt32, audioDataHandler: SDLAudioPassThruHandler? = nil)
initialPrompt
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• Array Minsize: 1
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 Maxsize: 100
audioPassThruDisplayText1
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
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
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
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
the quality the audio is recorded - 8 bit or 16 bit
@discussion a BitsPerSample value representing 8 bit or 16 bit
audioType
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
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
The Text that Displayed when the interaction begins. This text may be overlaid
by the “Listening” prompt during the interaction. Text is displayed on first line
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?)
of multiline display, and is centered. If text does not fit on line, it will be
truncated
initialPrompt
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
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
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
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
An array of TTSChunks which, taken together, specify the phrase to be spoken
when the listen times out during the VR session
timeout
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
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
ID of the choice that was selected in response to PerformInteraction. 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
Manually entered text selection, e.g. through keyboard. Can be returned in lieu
of choiceID, depending on the trigger source.
Optional, Max length 500 chars
triggerSource
A SDLTriggerSource object which will be shown in the HMI. Only is valid if
resultCode is SUCCESS.
SWIFT
var choiceID: (NSNumber & SDLInt)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *manualTextEntry;
SWIFT
var manualTextEntry: String? { get set }
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
Name of the individual RPC in the policy table.
Required
hmiPermissions
HMI Permissions for the individual RPC; i.e. which HMI levels may it be used in
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull rpcName;
SWIFT
var rpcName: String { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLHMIPermissions *_Nonnull hmiPermissions;
parameterPermissions
RPC parameters for the individual RPC
Required
SWIFT
var hmiPermissions: SDLHMIPermissions { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLParameterPermissions *_Nonnull 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
Extended capabilities of the module’s phone feature
-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
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber *dialNumberEnabled;
SWIFT
var dialNumberEnabled: NSNumber? { get set }
• isValid
Overview
Undocumented
-initWithFirstTouch:secondTouch:
@abstract Initializes a pinch gesture.
firstTouch
First touch of the gesture
OBJECTIVE-C
- (nonnull instancetype)initWithFirstTouch:(nonnull SDLTouch *)firstTouch secondTouch:(nonnull SDLTouch *)secondTouch;
SWIFT
init(firstTouch: SDLTouch, secondTouch: SDLTouch)
PARAMETERS
secondTouch
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
If Onscreen custom presets are available.
Required, Boolean
SWIFT
var isValid: Bool { get }
SDLPutFile Class Reference
Section Contents
• -initWithFileName:fileType:• -initWithFileName:fileType:persistentFile:• -initWithFileName:fileType:persistentFile:systemFile:offset:length:• syncFileName• fileType• persistentFile• systemFile• offset
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull onScreenPresetsAvailable;
SWIFT
var onScreenPresetsAvailable: NSNumber & SDLBool { get set }
• 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
-initWithFileName:fileType:
Undocumented
-initWithFileName:fileType:persistentFile:
Undocumented
OBJECTIVE-C
- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType;
SWIFT
init(fileName: String, fileType: SDLFileType)
-
initWithFileName:fileType:persistentFile:systemFile:offset:length:
Undocumented
OBJECTIVE-C
- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType)fileType persistentFile:(BOOL)persistentFile;
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;
syncFileName
A file reference name
Required, maxlength 255 characters
fileType
A FileType value representing a selected file type
SWIFT
init(fileName: String, fileType: SDLFileType, persistentFile: Bool, systemFile: Bool, offset: UInt32, length: UInt32)
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull syncFileName;
SWIFT
var syncFileName: String { get set }
Required
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
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLFileType _Nonnull fileType;
SWIFT
var fileType: SDLFileType { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *persistentFile;
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.
SWIFT
var persistentFile: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *systemFile;
SWIFT
var systemFile: (NSNumber & SDLBool)? { get set }
Integer, Optional, 0 - 100,000,000,000
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
Response to SDLPutFile
Since SmartDeviceLink 2.0
spaceAvailable
Provides the total local space available in SDL Core for the registered app. If the
transfer has systemFile enabled, then the value will be set to 0 automatically.
SWIFT
var length: (NSNumber & SDLUInt)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull 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
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
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
The clock text in UTC format as YYYY-MM-DDThh:mm:ss.sTZD
optional, 0-24
programIdentification
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
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
Traffic Program Identification - Identifies a station that offers traffic
optional, Boolean
trafficAnnouncementIdentification
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
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:
Convenience init
name
The name of the message
A SDLRPCMessage object
OBJECTIVE-C
- (nonnull instancetype)initWithName:(nonnull NSString *)name;
SWIFT
init(name: String)
PARAMETERS
RETURN VALUE
-initWithDictionary:
Convenience init
dict
A dictionary with the format @{messageType: @{parameters}}
A SDLRPCMessage object
OBJECTIVE-C
- (nonnull instancetype)initWithDictionary: (nonnull NSDictionary<NSString *, id> *)dict;
SWIFT
init(dictionary dict: [String : Any])
PARAMETERS
RETURN VALUE
-getFunctionName
Returns the function name.
The function name
-setFunctionName:
Sets the function name.
OBJECTIVE-C
- (nullable NSString *)getFunctionName;
SWIFT
func getFunctionName() -> String?
RETURN VALUE
functionName
The function name
-getParameters:
Returns the value associated with the provided key. If the key does not exist,
null is returned.
OBJECTIVE-C
- (void)setFunctionName:(nullable NSString *)functionName;
SWIFT
func setFunctionName(_ functionName: String?)
PARAMETERS
functionName
The key name
The value associated with the function name
-setParameters:value:
Sets a key-value pair using the function name as the key.
OBJECTIVE-C
- (nullable NSObject *)getParameters:(nonnull NSString *)functionName;
SWIFT
func getParameters(_ functionName: String) -> NSObject?
PARAMETERS
RETURN VALUE
functionName
The name for the key
value
The value associated with the function name
bulkData
The data in the message
OBJECTIVE-C
- (void)setParameters:(nonnull NSString *)functionName value:(nullable NSObject *)value;
SWIFT
func setParameters(_ functionName: String, value: NSObject?)
PARAMETERS
name
The name of the message
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSData *bulkData;
SWIFT
var bulkData: Data? { get set }
OBJECTIVE-C
@property (readonly, strong, nonatomic) NSString *_Nonnull name;
SWIFT
var name: String { get }
messageType
The type of data in the message
SDLRPCNotificationNotification ClassReference
Section Contents
• notification• -initWithName:object:rpcNotification:• -isNotificationMemberOfClass:• -isNotificationKindOfClass:
OBJECTIVE-C
@property (readonly, strong, nonatomic) NSString *_Nonnull messageType;
SWIFT
var messageType: String { get }
Overview
An NSNotification object that makes retrieving internal SDLRPCNotification data
easier
notification
The notification within the userinfo dictionary
-initWithName:object:rpcNotification:
Create an NSNotification object caontaining an SDLRPCNotification
OBJECTIVE-C
@property (readonly, copy, nonatomic) __kindof SDLRPCNotification *_Nonnull notification;
SWIFT
@NSCopying var notification: SDLRPCNotification { get }
name
The NSNotification name
object
The NSNotification object
notification
The SDLRPCNotification payload
OBJECTIVE-C
- (nonnull instancetype)initWithName:(nonnull NSString *)name object:(nullable id)object rpcNotification: (nonnull __kindof SDLRPCNotification *)notification;
SWIFT
init(name: String, object: Any?, rpcNotification notification: SDLRPCNotification)
PARAMETERS
The NSNotification
-isNotificationMemberOfClass:
Returns whether or not the containing notification is equal to a class, not
including subclasses.
aClass
the class you are questioning
RETURN VALUE
OBJECTIVE-C
- (BOOL)isNotificationMemberOfClass:(nonnull Class)aClass;
SWIFT
func isNotificationMember(of aClass: AnyClass) -> Bool
PARAMETERS
-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
A unique id assigned to message sent to Core. The Correlation ID is used to
map a request to its response.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull correlationID;
SWIFT
var correlationID: NSNumber & SDLInt { get set }
SDLRPCResponse Class Reference
Section Contents
• correlationID• success• resultCode• info
Overview
Undocumented
correlationID
The correlation id of the corresponding SDLRPCRequest.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull correlationID;
SWIFT
var correlationID: NSNumber & SDLInt { get set }
success
Whether or not the SDLRPCRequest was successful.
resultCode
The result of the SDLRPCRequest. If the request failed, the result code contains
the failure reason.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull success;
SWIFT
var success: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLResult _Nonnull resultCode;
info
More detailed success or error message.
SWIFT
var resultCode: SDLResult { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *info;
SWIFT
var info: String? { get set }
SDLRPCResponseNotification ClassReference
Section Contents
• response• -initWithName:object:rpcResponse:• -isResponseMemberOfClass:• -isResponseKindOfClass:
Overview
An NSNotification object that makes retrieving internal SDLRPCResponse data
easier
response
The response within the userinfo dictionary
OBJECTIVE-C
@property (readonly, copy, nonatomic) __kindof SDLRPCResponse *_Nonnull response;
-initWithName:object:rpcResponse:
Create an NSNotification object caontaining an SDLRPCResponse
SWIFT
@NSCopying var response: SDLRPCResponse { get }
OBJECTIVE-C
- (nonnull instancetype)initWithName:(nonnull NSString *)name object:(nullable id)object rpcResponse: (nonnull __kindof SDLRPCResponse *)response;
SWIFT
init(name: String, object: Any?, rpcResponse response: SDLRPCResponse)
name
The NSNotification name
object
The NSNotification object
response
The SDLRPCResponse payload
The NSNotification
-isResponseMemberOfClass:
Returns whether or not the containing response is equal to a class, not
including subclasses.
PARAMETERS
RETURN VALUE
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:
Convenience init
dict
A dictionary
A SDLRPCStruct object
OBJECTIVE-C
- (nonnull instancetype)initWithDictionary: (nonnull NSDictionary<NSString *, id> *)dict;
SWIFT
init(dictionary dict: [String : Any])
PARAMETERS
RETURN VALUE
-init
Init
A SDLRPCStruct object
-serializeAsDictionary:
Converts struct to JSON formatted data
OBJECTIVE-C
- (nonnull instancetype)init;
SWIFT
init()
RETURN VALUE
version
The protocol version
JSON formatted data
OBJECTIVE-C
- (nonnull NSDictionary<NSString *, id> *)serializeAsDictionary:(Byte)version;
SWIFT
func serialize(asDictionary version: UInt8) -> [String : Any]
PARAMETERS
RETURN VALUE
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
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
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
Availability of the control of radio band.
True: Available, False: Not Available, Not present: Not Available.
Optional, Boolean
radioFrequencyAvailable
Availability of the control of radio frequency.
SWIFT
var radioEnableAvailable: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *radioBandAvailable;
SWIFT
var radioBandAvailable: (NSNumber & SDLBool)? { get set }
True: Available, False: Not Available, Not present: Not Available.
Optional, Boolean
hdChannelAvailable
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
Availability of the getting Radio Data System (RDS) data.
True: Available, False: Not Available, Not present: Not Available.
Optional, Boolean
availableHDsAvailable
Availability of the getting the number of available HD channels.
SWIFT
var hdChannelAvailable: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *rdsDataAvailable;
SWIFT
var rdsDataAvailable: (NSNumber & SDLBool)? { get set }
True: Available, False: Not Available, Not present: Not Available.
Optional, Boolean
stateAvailable
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
Availability of the getting the signal strength.
True: Available, False: Not Available, Not present: Not Available.
Optional, Boolean
signalChangeThresholdAvailable
Availability of the getting the signal Change Threshold
SWIFT
var stateAvailable: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *signalStrengthAvailable;
SWIFT
var signalStrengthAvailable: (NSNumber & SDLBool)? { get set }
True: Available, False: Not Available, Not present: Not Available.
Optional, Boolean
SDLRadioControlData Class Reference
Section Contents
• -initWithFrequencyInteger:frequencyFraction:band:hdChannel:radioEnable:• frequencyInteger• frequencyFraction• band• rdsData• availableHDs• hdChannel
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *signalChangeThresholdAvailable;
SWIFT
var signalChangeThresholdAvailable: (NSNumber & SDLBool)? { get set }
• signalStrength• signalChangeThreshold• 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
The integer part of the frequency ie for 101.7 this value should be 101
Integer
frequencyFraction
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 }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *frequencyFraction;
band
Radio band value
SDLRadioBand
rdsData
Read only parameter. See RDSData data type for details.
WarningThis property is readonly and cannot be set on the module.
SWIFT
var frequencyFraction: (NSNumber & SDLInt)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLRadioBand band;
SWIFT
var band: SDLRadioBand? { get set }
SDLRDSData
availableHDs
number of HD sub-channels if available
WarningThis property is readonly and cannot be set on the module. Integer value Min Value - 1 Max Value -3
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLRDSData *rdsData;
SWIFT
var rdsData: SDLRDSData? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *availableHDs;
hdChannel
Current HD sub-channel if available
Integer value Min Value - 1 Max Value -3
signalStrength
Signal Strength Value
WarningThis property is readonly and cannot be set on the module.
SWIFT
var availableHDs: (NSNumber & SDLInt)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *hdChannel;
SWIFT
var hdChannel: (NSNumber & SDLInt)? { get set }
Integer value Min Value - 0 Max Value - 100
signalChangeThreshold
If the signal strength falls below the set value for this parameter, the radio will
tune to an alternative frequency
WarningThis property is readonly and cannot be set on the module. Integer value Min Value - 0 Max Value - 100
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *signalStrength;
SWIFT
var signalStrength: (NSNumber & SDLInt)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *signalChangeThreshold;
radioEnable
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
state
Read only parameter. See RadioState data type for details.
Warning
SWIFT
var signalChangeThreshold: (NSNumber & SDLInt)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *radioEnable;
SWIFT
var radioEnable: (NSNumber & SDLBool)? { get set }
This property is readonly and cannot be set on the module. SDLRadioState
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
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLRadioState state;
SWIFT
var state: SDLRadioState? { get set }
Function Group: ProprietaryData
HMILevel needs to be FULL, LIMITED or BACKGROUND
Since SmartDeviceLink 2.0
-initWithECUName:didLocation:
Undocumented
ecuName
An ID of the vehicle module
Notes: Minvalue:0; Maxvalue:65535
OBJECTIVE-C
- (instancetype)initWithECUName:(UInt16)ecuNumber didLocation:(NSArray<NSNumber<SDLUInt> *> *)didLocation;
SWIFT
init(ecuName ecuNumber: UInt16, didLocation: [NSNumber & SDLUInt])
didLocation
Raw data from vehicle data DID location(s)
a Vector value representing raw data from vehicle data DID location(s)
Notes:
• Minvalue:0; Maxvalue:65535• ArrayMin:0; ArrayMax:1000
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull ecuName;
SWIFT
var ecuName: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<NSNumber<SDLInt> *> *_Nonnull didLocation;
SDLReadDIDResponse Class Reference
Section Contents
• didResult
Overview
A response to ReadDID
Since SmartDeviceLink 2.0
didResult
Array of requested DID results (with data if available).
SWIFT
var didLocation: [NSNumber & SDLInt] { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLDIDResult *> *didResult;
SDLRectangle Class Reference
Section Contents
• -initWithX:y:width:height:• -initWithCGRect:• x• y• width• height
Overview
A struct describing a rectangle
-initWithX:y:width:height:
Create a Rectangle
SWIFT
var didResult: [SDLDIDResult]? { get set }
x
The top-left x value
y
The top-left y value
width
The width
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
height
The height
An new SDLRectangle object
-initWithCGRect:
Create a Rectangle from a CGRect
RETURN VALUE
OBJECTIVE-C
- (instancetype)initWithCGRect:(CGRect)rect;
SWIFT
init!(cgRect rect: CGRect)
rect
The rectangle to use
An new SDLRectangle object
x
The X-coordinate of the user control
Required, Float
PARAMETERS
RETURN VALUE
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *x;
SWIFT
var x: (NSNumber & SDLFloat)! { get set }
y
The Y-coordinate of the user control
Required, Float
width
The width of the user control’s bounding rectangle
Required, Float
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *y;
SWIFT
var y: (NSNumber & SDLFloat)! { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *width;
height
The height of the user control’s bounding rectangle
Required, Float
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:appTypes:shortAppName:• -
initWithAppName:appId:languageDesired:isMediaApp:appTypes:shortAppName:ttsName:vrSynonyms:hmiDi• 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:appTypes: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 appTypes:(NSArray<SDLAppHMIType> *)appTypes shortAppName:(nullable NSString *)shortAppName;
-
initWithAppName:appId:languageDesired:isMediaApp:appTypes:shortAppName
Undocumented
SWIFT
init(appName: String, appId: String, languageDesired: SDLLanguage, isMediaApp: Bool, appTypes: [SDLAppHMIType], shortAppName: String?)
OBJECTIVE-C
- (instancetype)initWithAppName:(NSString *)appName appId:(NSString *)appId languageDesired:(SDLLanguage)languageDesired isMediaApp:(BOOL)isMediaApp appTypes:(NSArray<SDLAppHMIType> *)appTypes shortAppName:(nullable NSString *)shortAppName ttsName:(nullable NSArray<SDLTTSChunk *> *)ttsName vrSynonyms:(nullable NSArray<NSString *> *)vrSynonyms hmiDisplayLanguageDesired:(SDLLanguage)hmiDisplayLanguageDesired resumeHash:(nullable NSString *)resumeHash;
syncMsgVersion
The version of the SDL interface
Required
SWIFT
init(appName: String, appId: String, languageDesired: SDLLanguage, isMediaApp: Bool, appTypes: [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
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
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
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
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
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
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
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
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
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
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
ID used to validate app with policy table entries
Required, max length 100
@since SDL 2.0
appInfo
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
Response to SDLRegisterAppInterface
Since SmartDeviceLink 1.0
syncMsgVersion
The RPC spec version supported by the connected IVI system.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLSyncMsgVersion *syncMsgVersion;
SWIFT
var syncMsgVersion: SDLSyncMsgVersion? { get set }
language
The currently active VR+TTS language on the module. See “Language” for
options.
Optional
hmiDisplayLanguage
The currently active display language on the module. See “Language” for
options.
Since SmartDeviceLink 2.0
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLLanguage language;
SWIFT
var language: SDLLanguage? { get set }
displayCapabilities
Contains information about the display for the SDL system to which the
application is currently connected.
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
Provides information about the capabilities of a SDL HMI button.
Optional, Array of length 1 - 100, of SDLButtonCapabilities
softButtonCapabilities
Contains information about a SoftButton’s capabilities.
Optional, Array of length 1 - 100, of SDLSoftButtonCapabilities
SWIFT
var displayCapabilities: SDLDisplayCapabilities? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLButtonCapabilities *> *buttonCapabilities;
SWIFT
var buttonCapabilities: [SDLButtonCapabilities]? { get set }
presetBankCapabilities
If returned, the platform supports custom on-screen Presets
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
Specifies HMI Zones in the vehicle.
Optional, Array of length 1 - 100, of SDLHMIZoneCapabilities
speechCapabilities
Contains information about TTS capabilities on the SDL platform.
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
Contains information about the speech capabilities on the SDL platform *
• 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
The VR capabilities of the connected SDL platform.
Optional, Array of length 1 - 100, of SDLVRCapabilities
audioPassThruCapabilities
Describes different audio type configurations for SDLPerformAudioPassThru,
e.g. {8kHz,8-bit,PCM}
SWIFT
var prerecordedSpeech: [SDLPrerecordedSpeech]? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLVRCapabilities> *vrCapabilities;
SWIFT
var vrCapabilities: [SDLVRCapabilities]? { get set }
Optional, Array of length 1 - 100, of SDLAudioPassThruCapabilities
pcmStreamCapabilities
Describes different audio type configurations for the audio PCM stream service,
e.g. {8kHz,8-bit,PCM}
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 connected vehicle’s type
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
SWIFT
var pcmStreamCapabilities: SDLAudioPassThruCapabilities? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleType *vehicleType;
SWIFT
var vehicleType: SDLVehicleType? { get set }
hmiCapabilities
Specifies the availability of various SDL features.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<NSNumber<SDLInt> *> *supportedDiagModes;
SWIFT
var supportedDiagModes: [NSNumber & SDLInt]? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLHMICapabilities *hmiCapabilities;
sdlVersion
The SmartDeviceLink Core version
Optional, String max length 100
systemSoftwareVersion
The software version of the system that implements SmartDeviceLink Core
Optional, String max length 100
SWIFT
var hmiCapabilities: SDLHMICapabilities? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *sdlVersion;
SWIFT
var sdlVersion: String? { get set }
SDLRemoteControlCapabilities ClassReference
Section Contents
• -
initWithClimateControlCapabilities:radioControlCapabilities:buttonCapabilities:• climateControlCapabilities• radioControlCapabilities• buttonCapabilities
Overview
Capabilities of the remote control feature
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *systemSoftwareVersion;
SWIFT
var systemSoftwareVersion: String? { get set }
-
initWithClimateControlCapabilities:radioControlCapabilities:buttonCapabilities:
Undocumented
climateControlCapabilities
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
OBJECTIVE-C
- (instancetype)initWithClimateControlCapabilities:(nullable NSArray<SDLClimateControlCapabilities *> *)climateControlCapabilities radioControlCapabilities:(nullable NSArray<SDLRadioControlCapabilities *> *)radioControlCapabilities buttonCapabilities:(nullable NSArray<SDLButtonCapabilities *> *)buttonCapabilities;
SWIFT
init(climateControlCapabilities: [SDLClimateControlCapabilities]?, radioControlCapabilities: [SDLRadioControlCapabilities]?, buttonCapabilities: [SDLButtonCapabilities]?)
radioControlCapabilities
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
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLClimateControlCapabilities *> *climateControlCapabilities;
SWIFT
var climateControlCapabilities: [SDLClimateControlCapabilities]? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLRadioControlCapabilities *> *radioControlCapabilities;
buttonCapabilities
If included, the platform supports RC button controls with the included button
names.
Optional, Array of SDLButtonCapabilities, Array length 1 - 100
SWIFT
var radioControlCapabilities: [SDLRadioControlCapabilities]? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLButtonCapabilities *> *buttonCapabilities;
SWIFT
var buttonCapabilities: [SDLButtonCapabilities]? { 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
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
OBJECTIVE-C
- (instancetype)initWithProperties:(NSArray<SDLGlobalProperty> *)properties;
properties
An array of one or more GlobalProperty enumeration elements indicating which
global properties to reset to their default value
SWIFT
init(properties: [SDLGlobalProperty])
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<SDLGlobalProperty> *_Nonnull properties;
SWIFT
var properties: [SDLGlobalProperty] { get set }
SDLScreenManager Class Reference
Section Contents
• textField1• textField2• textField3• textField4• mediaTrackTextField• primaryGraphic• secondaryGraphic• textAlignment• textField1Type• textField2Type• textField3Type• textField4Type• softButtonObjects• menu• voiceCommands• -initWithConnectionManager:fileManager:• -stop• -beginUpdates• -endUpdatesWithCompletionHandler:• -softButtonObjectNamed:
Overview
Undocumented
textField1
The top text field within a template layout
textField2
The second text field within a template layout
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *textField1;
SWIFT
var textField1: String? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *textField2;
SWIFT
var textField2: String? { get set }
textField3
The third text field within a template layout
textField4
The fourth text field within a template layout
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *textField3;
SWIFT
var textField3: String? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *textField4;
mediaTrackTextField
The media text field available within the media layout. Often less emphasized
than textField(1-4)
primaryGraphic
The primary graphic within a template layout
SWIFT
var textField4: String? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSString *mediaTrackTextField;
SWIFT
var mediaTrackTextField: String? { get set }
secondaryGraphic
A secondary graphic used in some template layouts
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLArtwork *primaryGraphic;
SWIFT
var primaryGraphic: SDLArtwork? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLArtwork *secondaryGraphic;
SWIFT
var secondaryGraphic: SDLArtwork? { get set }
textAlignment
What alignment textField(1-4) should use
textField1Type
The type of data textField1 describes
OBJECTIVE-C
@property (readwrite, copy, nonatomic) SDLTextAlignment _Nonnull textAlignment;
SWIFT
var textAlignment: SDLTextAlignment { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) SDLMetadataType textField1Type;
textField2Type
The type of data textField2 describes
textField3Type
The type of data textField3 describes
SWIFT
var textField1Type: SDLMetadataType? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) SDLMetadataType textField2Type;
SWIFT
var textField2Type: SDLMetadataType? { get set }
textField4Type
The type of data textField4 describes
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) SDLMetadataType textField3Type;
SWIFT
var textField3Type: SDLMetadataType? { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) SDLMetadataType textField4Type;
SWIFT
var textField4Type: SDLMetadataType? { get set }
softButtonObjects
The current list of soft buttons within a template layout. Set this array to
change the displayed soft buttons.
menu
The current list of menu cells displayed in the app’s menu.
OBJECTIVE-C
@property (readwrite, copy, nonatomic) NSArray<SDLSoftButtonObject *> *_Nonnull softButtonObjects;
SWIFT
var softButtonObjects: [SDLSoftButtonObject] { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic) NSArray<SDLMenuCell *> *_Nonnull menu;
voiceCommands
The current list of voice commands available for the user to speak and be
recognized by the IVI’s voice recognition engine.
-initWithConnectionManager:fileManager:
Initialize a screen manager
Warning
For internal use
SWIFT
var menu: [SDLMenuCell] { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic) NSArray<SDLVoiceCommand *> *_Nonnull voiceCommands;
SWIFT
var voiceCommands: [SDLVoiceCommand] { get set }
connectionManager
The connection manager used to send RPCs
fileManager
The file manager used to upload files
The screen manager
-stop
Stops the manager.
WarningFor internal use
OBJECTIVE-C
- (nonnull instancetype)initWithConnectionManager: (nonnull id<SDLConnectionManagerType>)connectionManager fileManager:(nonnull SDLFileManager *)fileManager;
PARAMETERS
RETURN VALUE
-beginUpdates
Delays all screen updates until endUpdatesWithCompletionHandler: is called.
OBJECTIVE-C
- (void)stop;
SWIFT
func stop()
OBJECTIVE-C
- (void)beginUpdates;
SWIFT
func beginUpdates()
-endUpdatesWithCompletionHandler:
Update text fields with new text set into the text field properties. Pass an empty
string \@"" to clear the text field.
If the system does not support a full 4 fields, this will automatically be
concatenated and properly send the field available.
If 3 lines are available: [field1, field2, field3 - field 4]
If 2 lines are available: [field1 - field2, field3 - field4]
If 1 line is available: [field1 - field2 - field3 - field4]
Also updates the primary and secondary images with new image(s) if new one
(s) been set. This method will take care of naming the files (based on a hash).
This is assumed to be a non-persistant image.
If it needs to be uploaded, it will be. Once the upload is complete, the on-screen
graphic will be updated.
OBJECTIVE-C
- (void)endUpdatesWithCompletionHandler: (nullable SDLScreenManagerUpdateCompletionHandler)handler;
SWIFT
func endUpdates(completionHandler handler: SDLScreenManagerUpdateCompletionHandler? = nil)
handler
A handler run when the fields have finished updating, with an error if
the update failed. This handler may be called multiple times when the
text update is sent and the image update is sent.
-softButtonObjectNamed:
Find a current soft button object with a specific name
PARAMETERS
OBJECTIVE-C
- (nullable SDLSoftButtonObject *)softButtonObjectNamed: (nonnull NSString *)name;
SWIFT
func softButtonObjectNamed(_ name: String) -> SDLSoftButtonObject?
name
The name of the soft button object to find
The soft button object or nil if there isn’t one with that name
SDLScreenParams Class Reference
Section Contents
• resolution• touchEventAvailable
Overview
A struct in DisplayCapabilities describing parameters related to a video / touch
input area
resolution
The resolution of the prescribed screen area
Required
PARAMETERS
RETURN VALUE
touchEventAvailable
Types of screen touch events available in screen area
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLImageResolution *_Nonnull resolution;
SWIFT
var resolution: SDLImageResolution { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLTouchEventCapabilities *touchEventAvailable;
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
SWIFT
var touchEventAvailable: SDLTouchEventCapabilities? { get set }
-initWithMessage:timeout:softButtons:
Undocumented
OBJECTIVE-C
- (instancetype)initWithMessage:(NSString *)message;
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]?)
scrollableMessageBody
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
timeout
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 }
softButtons
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
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<SDLSoftButton *> *softButtons;
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
SWIFT
var softButtons: [SDLSoftButton]? { get set }
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
OBJECTIVE-C
- (nonnull instancetype)initWithHapticRectData: (nonnull NSArray<SDLHapticRect *> *)hapticRectData;
SWIFT
init(hapticRectData: [SDLHapticRect])
PARAMETERS
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
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLHapticRect *> *hapticRectData;
SWIFT
var hapticRectData: [SDLHapticRect]? { get set }
• deliveryMode• timeStamp• address
Overview
Undocumented
-
initWithLongitude:latitude:locationName:locationDescription:address:phoneNum
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?)
-
initWithLongitude:latitude:locationName:locationDescription:displayAddressLin
Undocumented
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
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
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
Response to SDLSetDisplayLayout
Since SmartDeviceLink 2.0
displayCapabilities
The display capabilities of the new template layout
buttonCapabilities
The button capabilities of the new template layout
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLDisplayCapabilities *displayCapabilities;
SWIFT
var displayCapabilities: SDLDisplayCapabilities? { get set }
softButtonCapabilities
The soft button capabilities of the new template layout
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLButtonCapabilities *> *buttonCapabilities;
SWIFT
var buttonCapabilities: [SDLButtonCapabilities]? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLSoftButtonCapabilities *> *softButtonCapabilities;
SWIFT
var softButtonCapabilities: [SDLSoftButtonCapabilities]? { get set }
presetBankCapabilities
The preset bank capabilities of the new template layout
SDLSetGlobalProperties ClassReference
Section Contents
• -initWithHelpText:timeoutText:• -initWithHelpText:timeoutText:vrHelpTitle:vrHelp:• -
initWithHelpText:timeoutText:vrHelpTitle:vrHelp:menuTitle:menuIcon:keyboardProperties:• helpPrompt
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLPresetBankCapabilities *presetBankCapabilities;
SWIFT
var presetBankCapabilities: SDLPresetBankCapabilities? { get set }
• timeoutPrompt• vrHelpTitle• vrHelp• menuTitle• menuIcon• keyboardProperties
Overview
Sets global property values
Since SmartDeviceLink 1.0
See SDLResetGlobalProperties
-initWithHelpText:timeoutText:
Initialize SetGlobalProperties with help text and timeout text
OBJECTIVE-C
- (nonnull instancetype)initWithHelpText:(nullable NSString *)helpText timeoutText:(nullable NSString *)timeoutText;
SWIFT
init(helpText: String?, timeoutText: String?)
helpText
A string that will be turned into TTS chunks for the help prompt
timeoutText
A string that will be turned into TTS chunks for the timeout prompt
The SetGlobalProperties RPC
-initWithHelpText:timeoutText:vrHelpTitle:vrHelp:
Initialize SetGlobalProperties with help text, timeout text, help title, and help
items
PARAMETERS
RETURN VALUE
OBJECTIVE-C
- (nonnull instancetype)initWithHelpText:(nullable NSString *)helpText timeoutText:(nullable NSString *)timeoutText vrHelpTitle:(nullable NSString *)vrHelpTitle vrHelp:(nullable NSArray<SDLVRHelpItem *> *) vrHelp;
helpText
A string that will be turned into TTS chunks for the help prompt
timeoutText
A string that will be turned into TTS chunks for the timeout prompt
vrHelpTitle
The title of the help interface prompt
vrHelp
The items of the help interface prompt
SWIFT
init(helpText: String?, timeoutText: String?, vrHelpTitle: String?, vrHelp: [SDLVRHelpItem]?)
PARAMETERS
The SetGlobalProperties RPC
-
initWithHelpText:timeoutText:vrHelpTitle:vrHelp:menuTitle:menuIcon:keyboard
Initialize SetGlobalProperties with all possible items
RETURN VALUE
OBJECTIVE-C
- (nonnull 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 *)menuIconkeyboardProperties:(nullable SDLKeyboardProperties *)keyboardProperties;
SWIFT
init(helpText: String?, timeoutText: String?, vrHelpTitle: String?, vrHelp: [SDLVRHelpItem]?, menuTitle: String?, menuIcon: SDLImage?, keyboardProperties: SDLKeyboardProperties?)
helpText
A string that will be turned into TTS chunks for the help prompt
timeoutText
A string that will be turned into TTS chunks for the timeout prompt
vrHelpTitle
The title of the help interface prompt
vrHelp
The items of the help interface prompt
menuTitle
The title of the menu button
menuIcon
The icon on the menu button
keyboardProperties
The properties of a keyboard prompt
PARAMETERS
The SetGlobalProperties RPC
helpPrompt
Help prompt for when the user asks for help with an interface prompt
Optional
timeoutPrompt
Help prompt for when an interface prompt times out
Optional, Array, at least 1 item
RETURN VALUE
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *helpPrompt;
SWIFT
var helpPrompt: [SDLTTSChunk]? { get set }
vrHelpTitle
Sets a voice recognition Help Title
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLTTSChunk *> *timeoutPrompt;
SWIFT
var timeoutPrompt: [SDLTTSChunk]? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *vrHelpTitle;
vrHelp
Sets the items listed in the VR help screen used in an interaction started by
Push to Talk
@since SmartDeviceLink 2.0
Optional
SWIFT
var vrHelpTitle: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSArray<SDLVRHelpItem *> *vrHelp;
SWIFT
var vrHelp: [SDLVRHelpItem]? { get set }
menuTitle
Text for the menu button label
Optional
menuIcon
Icon for the menu button
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *menuTitle;
SWIFT
var menuTitle: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLImage *menuIcon;
keyboardProperties
On-screen keyboard (perform interaction) configuration
Optional
SWIFT
var menuIcon: SDLImage? { get set }
OBJECTIVE-C
@property (readwrite, 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
Response to SDLSetInteriorVehicleData
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLModuleData *_Nonnull moduleData;
SWIFT
var moduleData: SDLModuleData { get set }
moduleData
The new module data for the requested 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
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
An END time of type SDLStartTime, specifying hour, minute, second values
@discussion An SDLStartTime object with specifying hour, minute, second
values
updateMode
The media clock/timer update mode (COUNTUP/COUNTDOWN/PAUSE/RESUME)
SWIFT
var startTime: SDLStartTime? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLStartTime *endTime;
SWIFT
var endTime: SDLStartTime? { get set }
@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
SDLShow Class Reference
Section Contents
• -initWithMainField1:mainField2:alignment:• -initWithMainField1:mainField1Type:mainField2:mainField2Type:alignment:• -initWithMainField1:mainField2:mainField3:mainField4:alignment:
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLUpdateMode _Nonnull updateMode;
SWIFT
var updateMode: SDLUpdateMode { get set }
• -
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
-
initWithMainField1:mainField1Type:mainField2:mainField2Type: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: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?)
OBJECTIVE-C
- (instancetype)initWithMainField1:(nullable NSString *)mainField1 mainField2:(nullable NSString *)mainField2 mainField3:(nullable NSString *)mainField3 mainField4:(nullable NSString *)mainField4 alignment:(nullable SDLTextAlignment)alignment;
-
initWithMainField1:mainField1Type:mainField2:mainField2Type:mainField3:main
Undocumented
SWIFT
init(mainField1: String?, mainField2: String?, mainField3: String?, mainField4: String?, alignment: SDLTextAlignment?)
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;
-
initWithMainField1:mainField2:alignment:statusBar:mediaClock:mediaTrack:
Undocumented
SWIFT
init(mainField1: String?, mainField1Type: SDLMetadataType?, mainField2: String?, mainField2Type: SDLMetadataType?, mainField3: String?, mainField3Type: SDLMetadataType?, mainField4: String?, mainField4Type: SDLMetadataType?, alignment: SDLTextAlignment?)
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?)
-
initWithMainField1:mainField2:mainField3:mainField4:alignment:statusBar:med
Undocumented
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?)
mainField1
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• If this parameter is an empty string, the field will be cleared
mainField2
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
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *mainField1;
SWIFT
var mainField1: String? { get set }
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
mainField3
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
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *mainField2;
SWIFT
var mainField2: String? { get set }
• Maxlength = 500
@since SmartDeviceLink 2.0
mainField4
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
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
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
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
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
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
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
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
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
Text Field Metadata
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 maneuver screen.
@since SmartDeviceLink 2.0
-
initWithNavigationText1:navigationText2:eta:timeToDestination:totalDistance:tu
Undocumented
navigationText1
The first line of text in a multi-line overlay screen.
Optional, Max length 500 chars
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
The second line of text in a multi-line overlay screen.
Optional, 1 - 500 chars
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *navigationText1;
SWIFT
var navigationText1: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *navigationText2;
eta
Estimated Time of Arrival time at final destination
Optional, 1 - 500 chars
timeToDestination
The amount of time needed to reach the final destination
Optional, 1 - 500 chars
SWIFT
var navigationText2: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *eta;
SWIFT
var eta: String? { get set }
totalDistance
The distance to the final destination
Optional, 1 - 500 chars
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *timeToDestination;
SWIFT
var timeToDestination: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *totalDistance;
turnIcon
An icon to show with the turn description
Optional
SeeSDLImage
nextTurnIcon
An icon to show with the next turn description
SWIFT
var totalDistance: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLImage *turnIcon;
SWIFT
var turnIcon: SDLImage? { get set }
Optional
SeeSDLImage
distanceToManeuver
Fraction of distance till next maneuver (starting from when AlertManeuver is
triggered). Used to calculate progress bar.
Optional, Float, 0 - 1,000,000,000
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLImage *nextTurnIcon;
SWIFT
var nextTurnIcon: SDLImage? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *distanceToManeuver;
distanceToManeuverScale
Distance till next maneuver (starting from) from previous maneuver. Used to
calculate progress bar.
Optional, Float, 0 - 1,000,000,000
SWIFT
var distanceToManeuver: (NSNumber & SDLFloat)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLFloat> *distanceToManeuverScale;
SWIFT
var distanceToManeuverScale: (NSNumber & SDLFloat)? { get set }
maneuverComplete
If and when a maneuver has completed while an AlertManeuver is active, the
app must send this value set to TRUE in order to clear the AlertManeuver
overlay. If omitted the value will be assumed as FALSE.
Optional
softButtons
Three dynamic SoftButtons available (first SoftButton is fixed to “Turns”). If
omitted on supported displays, the currently displayed SoftButton values will
not change.
Optional, Array length 0 - 3
SeeSDLSoftButton
OBJECTIVE-C
@property (readwrite, 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 (readwrite, strong, nonatomic, nullable) NSArray<SDLSoftButton *> *softButtons;
SWIFT
var softButtons: [SDLSoftButton]? { get set }
status
• The volume status of a single tire
Required
SDLSlider Class Reference
Section Contents
• -initWithNumTicks:position:• -initWithNumTicks:position:sliderHeader:sliderFooter:timeout:• -initWithNumTicks:position:sliderHeader:sliderFooters:timeout:• numTicks• position
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLComponentVolumeStatus _Nonnull status;
SWIFT
var status: SDLComponentVolumeStatus { get set }
• sliderHeader• sliderFooter• 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
Represents a number of selectable items on a horizontal axis
Required, Integer, 2 - 26
position
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
A text header to display
Required, Max length 500 chars
sliderFooter
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
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
Response to SDLSlider
Since SmartDeviceLink 2.0
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *timeout;
SWIFT
var timeout: (NSNumber & SDLInt)? { get set }
sliderPosition
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
Describes an on-screen button which may be presented in various contexts,
e.g. templates or alerts
-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
Describes whether this soft button displays only text, only an image, or both
Required
text
Optional text to display (if defined as TEXT or BOTH type)
Optional
SWIFT
var handler: SDLRPCButtonNotificationHandler { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSoftButtonType _Nonnull type;
SWIFT
var type: SDLSoftButtonType { get set }
image
Optional image struct for SoftButton (if defined as IMAGE or BOTH type)
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *text;
SWIFT
var text: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLImage *image;
SWIFT
var image: SDLImage? { get set }
isHighlighted
Displays in an alternate mode, e.g. with a colored background or foreground.
Depends on the IVI system.
Optional
softButtonID
Value which is returned via OnButtonPress / OnButtonEvent
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *isHighlighted;
SWIFT
var isHighlighted: (NSNumber & SDLBool)? { get set }
systemAction
Parameter indicating whether selecting a SoftButton shall call a specific system
action. This is intended to allow Notifications to bring the callee into full / focus;
or in the case of persistent overlays, the overlay can persist when a SoftButton
is pressed.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull softButtonID;
SWIFT
var softButtonID: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLSystemAction systemAction;
SDLSoftButtonCapabilities ClassReference
Section Contents
• shortPressAvailable• longPressAvailable• upDownAvailable• imageSupported
Overview
Contains information about a SoftButton’s capabilities.
@since SDL 2.0
shortPressAvailable
The button supports a short press.
Whenever the button is pressed short, onButtonPressed(SHORT) will be
invoked.
Required, Boolean
SWIFT
var systemAction: SDLSystemAction? { get set }
longPressAvailable
The button supports a LONG press.
Whenever the button is pressed long, onButtonPressed(LONG) will be invoked.
Required, Boolean
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull shortPressAvailable;
SWIFT
var shortPressAvailable: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull longPressAvailable;
upDownAvailable
The button supports “button down” and “button up”.
Whenever the button is pressed, onButtonEvent(DOWN) will be invoked.
Whenever the button is released, onButtonEvent(UP) will be invoked.
Required, Boolean
SWIFT
var longPressAvailable: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull upDownAvailable;
SWIFT
var upDownAvailable: NSNumber & SDLBool { get set }
imageSupported
The button supports referencing a static or dynamic image.
Required, Boolean
SDLSoftButtonObject Class Reference
Section Contents
• name• states• currentState• currentStateSoftButton• eventHandler
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull imageSupported;
SWIFT
var imageSupported: NSNumber & SDLBool { get set }
• -initWithName:states:initialStateName:handler:• -initWithName:state:handler:• -transitionToStateNamed:• -transitionToNextState• -stateWithName:
Overview
A soft button wrapper object that is capable of storing and switching between
states
name
The name of this button
states
All states available to this button
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSString *_Nonnull name;
SWIFT
var name: String { get }
currentState
The name of the current state of this soft button
OBJECTIVE-C
@property (readonly, strong, nonatomic) NSArray<SDLSoftButtonState *> *_Nonnull states;
SWIFT
var states: [SDLSoftButtonState] { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic) SDLSoftButtonState *_Nonnull currentState;
SWIFT
@NSCopying var currentState: SDLSoftButtonState { get }
currentStateSoftButton
Undocumented
eventHandler
The handler to be called when the button is in the current state and is pressed
OBJECTIVE-C
@property (strong, nonatomic, readonly) SDLSoftButton *currentStateSoftButton
SWIFT
var currentStateSoftButton: SDLSoftButton { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic) SDLRPCButtonNotificationHandler _Nonnull eventHandler;
-initWithName:states:initialStateName:handler:
Create a multi-state (or single-state, but you should use initWithName:state:
instead for that case) soft button. For example, a button that changes its image
or text, such as a repeat or shuffle button.
SWIFT
var eventHandler: SDLRPCButtonNotificationHandler { get }
OBJECTIVE-C
- (nonnull instancetype) initWithName:(nonnull NSString *)name states:(nonnull NSArray<SDLSoftButtonState *> *)statesinitialStateName:(nonnull NSString *)initialStateName handler:(nullable SDLRPCButtonNotificationHandler)eventHandler;
SWIFT
init(name: String, states: [SDLSoftButtonState], initialStateName: String, handler eventHandler: SDLRPCButtonNotificationHandler? = nil)
name
The name of the button
states
The states available to the button
eventHandler
The handler to be called when the button is in the current state and is
pressed
initialStateName
The first state to use
-initWithName:state:handler:
Create a single-state soft button. For example, a button that brings up a
Perform Interaction menu.
PARAMETERS
name
The name of the button
eventHandler
The handler to be called when the button is in the current state and is
pressed
state
The single state of the button
OBJECTIVE-C
- (nonnull instancetype)initWithName:(nonnull NSString *)name state:(nonnull SDLSoftButtonState *)state handler:(nullable SDLRPCButtonNotificationHandler) eventHandler;
SWIFT
init(name: String, state: SDLSoftButtonState, handler eventHandler: SDLRPCButtonNotificationHandler? = nil)
PARAMETERS
-transitionToStateNamed:
Transition the soft button to another state in the states property. The wrapper
considers all transitions valid (assuming a state with that name exists).
Warning
This method will throw an exception and crash your app (on purpose) if you
attempt an invalid transition. So…don’t do that.
stateName
The next state.
OBJECTIVE-C
- (BOOL)transitionToStateNamed:(nonnull NSString *)stateName;
SWIFT
func transition(toState stateName: String) -> Bool
PARAMETERS
YES if a state was found with that name, NO otherwise.
-transitionToNextState
Transition the soft button to the next state of the array set when in the states
property
-stateWithName:
Return a state from the state array with a specific name.
RETURN VALUE
OBJECTIVE-C
- (void)transitionToNextState;
SWIFT
func transitionToNextState()
stateName
The name of the state to return
The state, or nil if no state with that name exists
OBJECTIVE-C
- (nullable SDLSoftButtonState *)stateWithName:(nonnull NSString *)stateName;
SWIFT
func state(withName stateName: String) -> SDLSoftButtonState?
PARAMETERS
RETURN VALUE
SDLSoftButtonState Class Reference
Section Contents
• name• artwork• text• highlighted• systemAction• softButton• -init• -initWithStateName:text:image:• -initWithStateName:text:artwork:
Overview
Undocumented
name
The name of this soft button state
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSString *_Nonnull name;
artwork
The artwork to be used with this button or nil if it is text-only
text
The text to be used with this button or nil if it is image-only
SWIFT
var name: String { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLArtwork *artwork;
SWIFT
var artwork: SDLArtwork? { get }
highlighted
Whether or not the button should be highlighted on the UI
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) NSString *text;
SWIFT
var text: String? { get }
OBJECTIVE-C
@property (getter=isHighlighted, assign, readwrite, nonatomic) BOOL highlighted;
SWIFT
var isHighlighted: Bool { get set }
systemAction
A special system action
softButton
An SDLSoftButton describing this state
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSystemAction _Nonnull systemAction;
SWIFT
var systemAction: SDLSystemAction { get set }
OBJECTIVE-C
@property (readonly, strong, nonatomic) SDLSoftButton *_Nonnull softButton;
-init
Undocumented
-initWithStateName:text:image:
Create the soft button state. Either the text or artwork or both may be set.
SWIFT
var softButton: SDLSoftButton { get }
OBJECTIVE-C
- (instancetype)init NS_UNAVAILABLE;
OBJECTIVE-C
- (nonnull instancetype)initWithStateName:(nonnull NSString *)stateName text:(nullable NSString *)text image:(nullable UIImage *)image;
stateName
The name of this state for the button
text
The text to be displayed on the button
image
The image to be displayed on the button. This is assumed to be a PNG,
non-persistant. The name will be the same as the state name.
A new soft button state
SWIFT
init(stateName: String, text: String?, image: UIImage?)
PARAMETERS
RETURN VALUE
-initWithStateName:text:artwork:
Create the soft button state. Either the text or artwork or both may be set.
stateName
The name of this state for the button
text
The text to be displayed on the button
OBJECTIVE-C
- (nonnull instancetype)initWithStateName:(nonnull NSString *)stateName text:(nullable NSString *)text artwork:(nullable SDLArtwork *)artwork;
SWIFT
init(stateName: String, text: String?, artwork: SDLArtwork?)
PARAMETERS
artwork
The artwork to be displayed on the button
A new soft button state
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.
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
RETURN VALUE
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)
OBJECTIVE-C
- (instancetype)initWithTTSChunks:(NSArray<SDLTTSChunk *> *)ttsChunks;
ttsChunks
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
SWIFT
init(ttsChunks: [SDLTTSChunk])
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<SDLTTSChunk *> *_Nonnull ttsChunks;
SWIFT
var ttsChunks: [SDLTTSChunk] { get set }
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
OBJECTIVE-C
- (instancetype)initWithHours:(UInt8)hours minutes:(UInt8)minutes seconds:(UInt8)seconds;
hours
The hour of the media clock
Some display types only support a max value of 19. If out of range, it will be
rejected.
Required, Integer, 0 - 59
SWIFT
init(hours: UInt8, minutes: UInt8, seconds: UInt8)
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull hours;
SWIFT
var hours: NSNumber & SDLInt { get set }
minutes
The minute of the media clock
Required, Integer, 0 - 59
seconds
The second of the media clock
Required, Integer, 0 - 59
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull minutes;
SWIFT
var minutes: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull seconds;
SDLStreamingMediaConfiguration ClassReference
Section Contents
• securityManagers• maximumDesiredEncryption• customVideoEncoderSettings• dataSource• rootViewController• carWindowRenderingType• enableForcedFramerateSync• allowMultipleViewControllerOrientations• -init• -
initWithSecurityManagers:encryptionFlag:videoSettings:dataSource:rootViewController:• -initWithSecurityManagers:• +secureConfigurationWithSecurityManagers:• +insecureConfiguration• +autostreamingInsecureConfigurationWithInitialViewController:
SWIFT
var seconds: NSNumber & SDLInt { get set }
• +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;
OBJECTIVE-C
@property (assign, readwrite, nonatomic) SDLStreamingEncryptionFlag maximumDesiredEncryption;
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.
SWIFT
var maximumDesiredEncryption: SDLStreamingEncryptionFlag { get set }
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) NSDictionary<NSString *, id> *customVideoEncoderSettings;
SWIFT
var customVideoEncoderSettings: [String : Any]? { get set }
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.
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 S
DLTouchManagerDelegate .
Note
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
OBJECTIVE-C
@property (readwrite, nonatomic, nullable) id<SDLStreamingMediaManagerDataSource> dataSource;
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 rootVi
ewController 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.
carWindowRenderingType
Declares if CarWindow will use layer rendering or view rendering. Defaults to
layer rendering.
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) UIViewController *rootViewController;
SWIFT
var rootViewController: UIViewController? { get set }
enableForcedFramerateSync
When YES, the StreamingMediaManager will run a CADisplayLink with the
framerate set to the video encoder settings
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.
OBJECTIVE-C
@property (assign, readwrite, nonatomic) SDLCarWindowRenderingType carWindowRenderingType;
SWIFT
var carWindowRenderingType: SDLCarWindowRenderingType { get set }
OBJECTIVE-C
@property (assign, readwrite, nonatomic) BOOL enableForcedFramerateSync;
allowMultipleViewControllerOrientations
When YES, the StreamingMediaManager will disable its internal checks that the
rootViewController only has one supportedOrientation . Having multiple
orientations can cause streaming issues. If you wish to disable this check, set it
to YES. Defaults to NO.
SWIFT
var enableForcedFramerateSync: Bool { get set }
OBJECTIVE-C
@property (assign, readwrite, nonatomic) BOOL allowMultipleViewControllerOrientations;
SWIFT
var allowMultipleViewControllerOrientations: Bool { get set }
-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.
The configuration
-
initWithSecurityManagers:encryptionFlag:videoSettings:dataSource:rootViewCo
Manually set all the properties to the streaming media configuration
OBJECTIVE-C
- (nonnull instancetype)init;
SWIFT
init()
RETURN VALUE
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.
rootViewController
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
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
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)initWithSecurityManagers: (nonnull NSArray<Class<SDLSecurityType>> *)securityManagers;
PARAMETERS
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.
The configuration
RETURN VALUE
OBJECTIVE-C
+ (nonnull instancetype)secureConfigurationWithSecurityManagers: (nonnull NSArray<Class<SDLSecurityType>> *)securityManagers;
PARAMETERS
RETURN VALUE
+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
OBJECTIVE-C
+ (nonnull instancetype)insecureConfiguration;
RETURN VALUE
OBJECTIVE-C
+ (nonnull instancetype)autostreamingInsecureConfigurationWithInitialViewController: (nonnull UIViewController *)initialViewController;
initialViewController
The initial view controller that will be streamed
The configuration
+autostreamingSecureConfigurationWithSecurityManagers:initialViewControlle
Create a CarWindow secure configuration with a view controller and security
managers
SWIFT
class func autostreamingInsecureConfiguration(withInitialViewController initialViewController: UIViewController) -> Self
PARAMETERS
RETURN VALUE
securityManagers
The security managers available for secure streaming use
initialViewController
The initial view controller that will be streamed, this can be a basic UIV
iewController if you need to set your actual streaming view controller
at a later time on SDLManager.streamingManager.rootViewController .
The configuration
OBJECTIVE-C
+ (nonnull instancetype)autostreamingSecureConfigurationWithSecurityManagers: (nonnull NSArray<Class<SDLSecurityType>> *)securityManagers initialViewController: (nonnull UIViewController *) initialViewController;
PARAMETERS
RETURN VALUE
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:• -sendAudioData:
Overview
Undocumented
touchManager
Touch Manager responsible for providing touch event notifications.
audioManager
Audio Manager responsible for managing streaming audio.
OBJECTIVE-C
@property (readonly, strong, nonatomic) SDLTouchManager *_Nonnull touchManager;
SWIFT
var touchManager: SDLTouchManager { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic) SDLAudioStreamManager *_Nonnull audioManager;
rootViewController
This property is used for SDLCarWindow, the ability to stream any view
controller. To start, you must set an initial view controller on SDLStreamingMed
iaConfiguration rootViewController . After streaming begins, you can replace
that view controller with a new root by placing the new view controller into this
property.
SWIFT
var audioManager: SDLAudioStreamManager { get }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) UIViewController *_Nonnull rootViewController;
SWIFT
var rootViewController: UIViewController { get set }
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
SeeSDLRegisterAppInterface SDLDisplayCapabilities
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) id<SDLFocusableItemLocatorType> focusableItemManager;
OBJECTIVE-C
@property (readonly, getter=isStreamingSupported, assign, nonatomic) BOOL streamingSupported;
videoConnected
Whether or not the video session is connected.
videoEncrypted
Whether or not the video session is encrypted. This may be different than the
requestedEncryptionType.
SWIFT
var isStreamingSupported: Bool { get }
OBJECTIVE-C
@property (readonly, getter=isVideoConnected, assign, nonatomic) BOOL videoConnected;
SWIFT
var isVideoConnected: Bool { get }
audioConnected
Whether or not the audio session is connected.
OBJECTIVE-C
@property (readonly, getter=isVideoEncrypted, assign, nonatomic) BOOL videoEncrypted;
SWIFT
var isVideoEncrypted: Bool { get }
OBJECTIVE-C
@property (readonly, getter=isAudioConnected, assign, nonatomic) BOOL audioConnected;
SWIFT
var isAudioConnected: Bool { get }
audioEncrypted
Whether or not the audio session is encrypted. This may be different than the
requestedEncryptionType.
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.
OBJECTIVE-C
@property (readonly, getter=isAudioEncrypted, assign, nonatomic) BOOL audioEncrypted;
SWIFT
var isAudioEncrypted: Bool { get }
OBJECTIVE-C
@property (readonly, getter=isVideoStreamingPaused, assign, nonatomic) BOOL videoStreamingPaused;
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.
SWIFT
var isVideoStreamingPaused: Bool { get }
OBJECTIVE-C
@property (readonly, assign, nonatomic) CGSize screenSize;
SWIFT
var screenSize: CGSize { get }
supportedFormats
A list of all supported video formats by this manager
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLVideoStreamingFormat *videoFormat;
SWIFT
var videoFormat: SDLVideoStreamingFormat? { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic) NSArray<SDLVideoStreamingFormat *> *_Nonnull supportedFormats;
SWIFT
var supportedFormats: [SDLVideoStreamingFormat] { get }
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 callthis 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 }
-init
Undocumented
-initWithConnectionManager:configuration:
Create a new streaming media manager for navigation and VPM apps with a
specified configuration
OBJECTIVE-C
@property (assign, readwrite, nonatomic) SDLStreamingEncryptionFlag requestedEncryptionType;
SWIFT
var requestedEncryptionType: SDLStreamingEncryptionFlag { get set }
OBJECTIVE-C
- (instancetype)init NS_UNAVAILABLE;
connectionManager
The pass-through for RPCs
configuration
The configuration of this streaming media session
A new streaming manager
OBJECTIVE-C
- (nonnull instancetype)initWithConnectionManager: (nonnull id<SDLConnectionManagerType>)connectionManager configuration: (nonnull SDLStreamingMediaConfiguration *)configuration;
PARAMETERS
RETURN VALUE
-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 .
-stop
Stop the manager. This method is used internally.
OBJECTIVE-C
- (void)startWithProtocol:(nonnull SDLProtocol *)protocol;
SWIFT
func start(with protocol: SDLProtocol)
OBJECTIVE-C
- (void)stop;
-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.
imageBuffer
SWIFT
func stop()
OBJECTIVE-C
- (BOOL)sendVideoData:(nonnull CVImageBufferRef)imageBuffer;
SWIFT
func sendVideoData(_ imageBuffer: CVImageBuffer) -> Bool
PARAMETERS
A CVImageBufferRef to be encoded by Video Toolbox
Whether or not the data was successfully encoded and sent.
-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.
RETURN VALUE
OBJECTIVE-C
- (BOOL)sendVideoData:(nonnull CVImageBufferRef)imageBuffer presentationTimestamp:(CMTime)presentationTimestamp;
SWIFT
func sendVideoData(_ imageBuffer: CVImageBuffer, presentationTimestamp: CMTime) -> Bool
imageBuffer
A CVImageBufferRef to be encoded by Video Toolbox
presentationTimestamp
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
PARAMETERS
RETURN VALUE
OBJECTIVE-C
- (BOOL)sendAudioData:(nonnull NSData *)audioData;
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
SWIFT
func sendAudioData(_ audioData: Data) -> Bool
PARAMETERS
RETURN VALUE
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
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.
OBJECTIVE-C
- (nonnull instancetype)initWithHandler: (nullable SDLRPCButtonNotificationHandler)handler;
SWIFT
init(handler: SDLRPCButtonNotificationHandler? = nil)
PARAMETERS
An SDLSubscribeButton object
-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.
RETURN VALUE
OBJECTIVE-C
- (instancetype)initWithButtonName:(SDLButtonName)buttonName handler:(nullable SDLRPCButtonNotificationHandler)handler;
SWIFT
init(buttonName: SDLButtonName, handler: SDLRPCButtonNotificationHandler? = nil)
buttonName
The name of the button to subscribe to @discussion An enum value, see
SDLButtonName
OBJECTIVE-C
@property (readwrite, copy, nonatomic) SDLRPCButtonNotificationHandler _Nonnull handler;
SWIFT
var handler: SDLRPCButtonNotificationHandler { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull buttonName;
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
SWIFT
var buttonName: SDLButtonName { get set }
• 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
Initialize a subscribe RPC with various possible to describe to
OBJECTIVE-C
- (nonnull 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;
accelerationPedalPosition
Subcribe to accelerationPedalPosition
airbagStatus
Subcribe to airbagStatus
beltStatus
Subcribe to beltStatus
bodyInformation
Subcribe to bodyInformation
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)
PARAMETERS
clusterModeStatus
Subcribe to clusterModeStatus
deviceStatus
Subcribe to deviceStatus
driverBraking
Subcribe to driverBraking
eCallInfo
Subcribe to eCallInfo
emergencyEvent
Subcribe to v
engineTorque
Subcribe to engineTorque
externalTemperature
Subcribe to externalTemperature
fuelLevel
Subcribe to fuelLevel
fuelLevelState
Subcribe to fuelLevelState
gps
Subcribe to gps
headLampStatus
Subcribe to headLampStatus
instantFuelConsumption
Subcribe to instantFuelConsumption
myKey
Subcribe to myKey
odometer
Subcribe to odometer
prndl
Subcribe to prndl
rpm
Subcribe to rpm
speed
Subcribe to speed
steeringWheelAngle
Subcribe to steeringWheelAngle
tirePressure
Subcribe to tirePressure
wiperStatus
Subcribe to wiperStatus
The RPC
gps
A boolean value. If true, subscribes Gps data
RETURN VALUE
speed
A boolean value. If true, subscribes 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
A boolean value. If true, subscribes rpm data
fuelLevel
A boolean value. If true, subscribes 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
A boolean value. If true, subscribes fuelLevel_State data
instantFuelConsumption
A boolean value. If true, subscribes 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
A boolean value. If true, subscribes 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
A boolean value. If true, subscribes Currently selected gear data
tirePressure
A boolean value. If true, subscribes 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
A boolean value. If true, subscribes odometer data
beltStatus
A boolean value. If true, subscribes 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
A boolean value. If true, subscribes 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
A boolean value. If true, subscribes device Status data
driverBraking
A boolean value. If true, subscribes 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
A boolean value. If true, subscribes wiper Status data
headLampStatus
A boolean value. If true, subscribes 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
A boolean value. If true, subscribes 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
A boolean value. If true, means the accPedalPosition data has been subscribed.
steeringWheelAngle
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
Subscribe to eCallInfo
airbagStatus
Subscribe to airbagStatus
SWIFT
var steeringWheelAngle: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *eCallInfo;
SWIFT
var eCallInfo: (NSNumber & SDLBool)? { get set }
emergencyEvent
Subscribe to emergencyEvent
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *airbagStatus;
SWIFT
var airbagStatus: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *emergencyEvent;
SWIFT
var emergencyEvent: (NSNumber & SDLBool)? { get set }
clusterModeStatus
Subscribe to clusterModeStatus
myKey
Subscribe to myKey
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *clusterModeStatus;
SWIFT
var clusterModeStatus: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *myKey;
SDLSubscribeVehicleDataResponseClass 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
Response to SDLSubscribeVehicleData
Since SmartDeviceLink 2.0
gps
The result of requesting to subscribe to the GPSData.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *gps;
SWIFT
var gps: SDLVehicleDataResult? { get set }
speed
The result of requesting to subscribe to the vehicle speed in kilometers per
hour.
Optional
rpm
The result of requesting to subscribe to the number of revolutions per minute of
the engine.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *speed;
SWIFT
var speed: SDLVehicleDataResult? { get set }
fuelLevel
The result of requesting to subscribe to the fuel level in the tank (percentage)
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *rpm;
SWIFT
var rpm: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel;
fuelLevel_State
The result of requesting to subscribe to the fuel level state.
Optional
instantFuelConsumption
The result of requesting to subscribe to the instantaneous fuel consumption in
microlitres.
SWIFT
var fuelLevel: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel_State;
SWIFT
var fuelLevel_State: SDLVehicleDataResult? { get set }
Optional
externalTemperature
The result of requesting to subscribe to the external temperature in degrees
celsius.
Optional
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
The result of requesting to subscribe to the PRNDL status.
Optional
tirePressure
The result of requesting to subscribe to the tireStatus.
Optional
SWIFT
var externalTemperature: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *prndl;
SWIFT
var prndl: SDLVehicleDataResult? { get set }
odometer
The result of requesting to subscribe to the odometer in km.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *tirePressure;
SWIFT
var tirePressure: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *odometer;
beltStatus
The result of requesting to subscribe to the status of the seat belts.
Optional
bodyInformation
The result of requesting to subscribe to the body information including power
modes.
SWIFT
var odometer: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *beltStatus;
SWIFT
var beltStatus: SDLVehicleDataResult? { get set }
Optional
deviceStatus
The result of requesting to subscribe to the device status including signal and
battery strength.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *bodyInformation;
SWIFT
var bodyInformation: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *deviceStatus;
driverBraking
The result of requesting to subscribe to the status of the brake pedal.
Optional
wiperStatus
The result of requesting to subscribe to the status of the wipers.
Optional
SWIFT
var deviceStatus: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *driverBraking;
SWIFT
var driverBraking: SDLVehicleDataResult? { get set }
headLampStatus
The result of requesting to subscribe to the status of the head lamps.
Optional
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
The result of requesting to subscribe to the torque value for engine (in Nm) on
non-diesel variants.
Optional
accPedalPosition
The result of requesting to subscribe to the 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 }
Optional
steeringWheelAngle
The result of requesting to subscribe to the current angle of the steering wheel
(in deg)
Optional
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
The result of requesting to subscribe to the emergency call info
Optional
airbagStatus
The result of requesting to subscribe to the airbag status
Optional
SWIFT
var steeringWheelAngle: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *eCallInfo;
SWIFT
var eCallInfo: SDLVehicleDataResult? { get set }
emergencyEvent
The result of requesting to subscribe to the emergency event
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *airbagStatus;
SWIFT
var airbagStatus: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *emergencyEvent;
clusterModes
The result of requesting to subscribe to the cluster modes
Optional
myKey
The result of requesting to subscribe to the myKey status
Optional
SWIFT
var emergencyEvent: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, 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 (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *myKey;
SWIFT
var myKey: SDLVehicleDataResult? { get set }
-initWithMajorVersion:minorVersion:patchVersion:
Undocumented
majorVersion
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
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
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 }
Optional, Integer, 0 - 1000
SDLSystemCapability Class Reference
Section Contents
• -initWithNavigationCapability:• -initWithPhoneCapability:• -initWithVideoStreamingCapability:• -initWithRemoteControlCapability:• systemCapabilityType• navigationCapability• phoneCapability• videoStreamingCapability• remoteControlCapability
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *patchVersion;
SWIFT
var patchVersion: (NSNumber & SDLInt)? { get set }
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
Used as a descriptor of what data to expect in this struct. The corresponding
param to this enum should be included and the only other parameter included.
OBJECTIVE-C
- (instancetype)initWithRemoteControlCapability:(SDLRemoteControlCapabilities *)capability;
SWIFT
init(remoteControlCapability capability: SDLRemoteControlCapabilities)
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSystemCapabilityType _Nonnull systemCapabilityType;
navigationCapability
Describes extended capabilities for onboard navigation system
phoneCapability
Describes extended capabilities of the module’s phone feature
SWIFT
var systemCapabilityType: SDLSystemCapabilityType { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLNavigationCapability *navigationCapability;
SWIFT
var navigationCapability: SDLNavigationCapability? { get set }
videoStreamingCapability
Describes extended capabilities of the module’s phone feature
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLPhoneCapability *phoneCapability;
SWIFT
var phoneCapability: SDLPhoneCapability? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVideoStreamingCapability *videoStreamingCapability;
remoteControlCapability
Describes extended capabilities of the module’s phone feature
SWIFT
var videoStreamingCapability: SDLVideoStreamingCapability? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLRemoteControlCapabilities *remoteControlCapability;
SWIFT
var remoteControlCapability: SDLRemoteControlCapabilities? { get set }
SDLSystemCapabilityManager ClassReference
Section Contents
• displayCapabilities• hmiCapabilities• softButtonCapabilities• buttonCapabilities• presetBankCapabilities• hmiZoneCapabilities• speechCapabilities• prerecordedSpeechCapabilities• vrCapability• audioPassThruCapabilities• pcmStreamCapability• navigationCapability• phoneCapability• videoStreamingCapability• remoteControlCapability• -init• -initWithConnectionManager:• -stop• -updateCapabilityType:completionHandler:
Overview
Undocumented
displayCapabilities
SeeSDLDisplayCapabilities
Optional
hmiCapabilities
SeeSDLHMICapabilities Optional
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLDisplayCapabilities *displayCapabilities;
SWIFT
var displayCapabilities: SDLDisplayCapabilities? { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLHMICapabilities *hmiCapabilities;
softButtonCapabilities
If returned, the platform supports on-screen SoftButtons
SeeSDLSoftButtonCapabilities Optional, Array of length 1 - 100, of SDLSoftButtonCapabilities
buttonCapabilities
SeeSDLButtonCapabilities
SWIFT
var hmiCapabilities: SDLHMICapabilities? { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) NSArray<SDLSoftButtonCapabilities *> *softButtonCapabilities;
SWIFT
var softButtonCapabilities: [SDLSoftButtonCapabilities]? { get }
Optional, Array of length 1 - 100, of SDLButtonCapabilities
presetBankCapabilities
If returned, the platform supports custom on-screen Presets
SeeSDLPresetBankCapabilities Optional
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) NSArray<SDLButtonCapabilities *> *buttonCapabilities;
SWIFT
var buttonCapabilities: [SDLButtonCapabilities]? { get }
OBJECTIVE-C
@property (readonly, 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 }
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) NSArray<SDLHMIZoneCapabilities> *hmiZoneCapabilities;
SWIFT
var hmiZoneCapabilities: [SDLHMIZoneCapabilities]? { get }
prerecordedSpeechCapabilities
SeeSDLPrerecordedSpeech Optional, Array of length 1 - 100, of SDLPrerecordedSpeech
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) NSArray<SDLSpeechCapabilities> *speechCapabilities;
SWIFT
var speechCapabilities: [SDLSpeechCapabilities]? { get }
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) NSArray<SDLPrerecordedSpeech> *prerecordedSpeechCapabilities;
vrCapability
SeeSDLVRCapabilities True if the head unit supports voice recognition; false if not.
audioPassThruCapabilities
SeeSDLAudioPassThruCapabilities Optional, Array of length 1 - 100, of SDLAudioPassThruCapabilities
SWIFT
var prerecordedSpeechCapabilities: [SDLPrerecordedSpeech]? { get }
OBJECTIVE-C
@property (readonly, assign, nonatomic) BOOL vrCapability;
SWIFT
var vrCapability: Bool { get }
pcmStreamCapability
SeeSDLAudioPassThruCapabilities Optional, Array of length 1 - 100, of SDLAudioPassThruCapabilities
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) NSArray<SDLAudioPassThruCapabilities *> *audioPassThruCapabilities;
SWIFT
var audioPassThruCapabilities: [SDLAudioPassThruCapabilities]? { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLAudioPassThruCapabilities *pcmStreamCapability;
navigationCapability
If returned, the platform supports navigation
SeeSDLNavigationCapability Optional
phoneCapability
If returned, the platform supports making phone calls
See
SWIFT
var pcmStreamCapability: SDLAudioPassThruCapabilities? { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLNavigationCapability *navigationCapability;
SWIFT
var navigationCapability: SDLNavigationCapability? { get }
SDLPhoneCapability Optional
videoStreamingCapability
If returned, the platform supports video streaming
SeeSDLVideoStreamingCapability Optional
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLPhoneCapability *phoneCapability;
SWIFT
var phoneCapability: SDLPhoneCapability? { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLVideoStreamingCapability *videoStreamingCapability;
remoteControlCapability
If returned, the platform supports remote control capabilities
SeeSDLRemoteControlCapabilities Optional
-init
Init is unavailable. Dependencies must be injected using
initWithConnectionManager:
SWIFT
var videoStreamingCapability: SDLVideoStreamingCapability? { get }
OBJECTIVE-C
@property (readonly, strong, nonatomic, nullable) SDLRemoteControlCapabilities *remoteControlCapability;
SWIFT
var remoteControlCapability: SDLRemoteControlCapabilities? { get }
nil
-initWithConnectionManager:
Creates a new system capability manager with a specified connection manager
manager
A connection manager to use to forward on RPCs
OBJECTIVE-C
- (nonnull instancetype)init;
RETURN VALUE
OBJECTIVE-C
- (nonnull instancetype)initWithConnectionManager: (nonnull id<SDLConnectionManagerType>)manager;
PARAMETERS
An instance of SDLSystemCapabilityManager
-stop
Stops the manager. This method is used internally.
-updateCapabilityType:completionHandler:
Retrieves a capability type from the remote system. This function must be
called in order to retrieve the values of navigationCapability ,
phoneCapability , videoStreamingCapability and remoteControlCapability . If
you do not call this method first, those values will be nil. After calling this
method, assuming there is no error in the handler, you may retrieve the
capability you requested from the manager within the handler.
RETURN VALUE
OBJECTIVE-C
- (void)stop;
SWIFT
func stop()
type
The type of capability to retrieve
handler
The handler to be called when the retrieval is complete
OBJECTIVE-C
- (void)updateCapabilityType:(nonnull SDLSystemCapabilityType)type completionHandler:(nonnull SDLUpdateCapabilityHandler)handler;
SWIFT
func updateCapabilityType(_ type: SDLSystemCapabilityType, completionHandler handler: @escaping SDLUpdateCapabilityHandler)
PARAMETERS
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.
@since SmartDeviceLink 1.0
-initWithText:type:
Initialize with text and a type
text
The string to be spoken
type
The type of text the string is
OBJECTIVE-C
- (nonnull instancetype)initWithText:(nonnull NSString *)text type:(nonnull SDLSpeechCapabilities)type;
SWIFT
init(text: String, type: SDLSpeechCapabilities)
PARAMETERS
The RPC
+textChunksFromString:
Create TTS using text
string
The text chunk
RETURN VALUE
OBJECTIVE-C
+ (nonnull NSArray<SDLTTSChunk *> *)textChunksFromString: (nonnull NSString *)string;
SWIFT
class func textChunks(from string: String) -> [SDLTTSChunk]
PARAMETERS
The RPC
+sapiChunksFromString:
Create TTS using SAPI
string
The SAPI chunk
RETURN VALUE
OBJECTIVE-C
+ (nonnull NSArray<SDLTTSChunk *> *)sapiChunksFromString: (nonnull NSString *)string;
SWIFT
class func sapiChunks(from string: String) -> [SDLTTSChunk]
PARAMETERS
The RPC
+lhPlusChunksFromString:
Create TTS using LH Plus
string
The LH Plus chunk
RETURN VALUE
OBJECTIVE-C
+ (nonnull NSArray<SDLTTSChunk *> *)lhPlusChunksFromString: (nonnull NSString *)string;
SWIFT
class func lhPlusChunks(from string: String) -> [SDLTTSChunk]
PARAMETERS
The RPC
+prerecordedChunksFromString:
Create TTS using prerecorded chunks
string
The prerecorded chunk
RETURN VALUE
OBJECTIVE-C
+ (nonnull NSArray<SDLTTSChunk *> *)prerecordedChunksFromString: (nonnull NSString *)string;
SWIFT
class func prerecordedChunks(from string: String) -> [SDLTTSChunk]
PARAMETERS
The RPC
+silenceChunks
Create TTS using silence
The RPC
RETURN VALUE
OBJECTIVE-C
+ (nonnull NSArray<SDLTTSChunk *> *)silenceChunks;
SWIFT
class func silenceChunks() -> [SDLTTSChunk]
RETURN VALUE
text
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
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
Struct using in Remote Control representing a temperature.
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSpeechCapabilities _Nonnull type;
SWIFT
var type: SDLSpeechCapabilities { get set }
-initWithUnit:value:
Undocumented
unit
Temperature Unit
Required, float
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
Temperature Value in TemperatureUnit specified unit. Range depends on OEM
and is not checked by SDL.
Required, float
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.
@since SDL 1.0
name
The enumeration identifying the field.
SeeSDLTextFieldName Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLTextFieldName _Nonnull name;
characterSet
The character set that is supported in this field.
SeeSDLCharacterSet Required
width
The number of characters in one row of this field.
SWIFT
var name: SDLTextFieldName { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLCharacterSet _Nonnull characterSet;
SWIFT
var characterSet: SDLCharacterSet { get set }
Required, Integer 1 - 500
rows
The number of rows for this text field.
Required, Integer 1 - 8
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull width;
SWIFT
var width: NSNumber & SDLInt { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull rows;
SDLTireStatus Class Reference
Section Contents
• pressureTelltale• leftFront• rightFront• leftRear• rightRear• innerLeftRear• innerRightRear
Overview
Struct used in Vehicle Data; the status and pressure of the tires.
pressureTelltale
Status of the Tire Pressure Telltale. See WarningLightStatus.
Required
SWIFT
var rows: NSNumber & SDLInt { get set }
leftFront
The status of the left front tire.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLWarningLightStatus _Nonnull pressureTelltale;
SWIFT
var pressureTelltale: SDLWarningLightStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSingleTireStatus *_Nonnull leftFront;
rightFront
The status of the right front tire.
Required
leftRear
The status of the left rear tire.
Required
SWIFT
var leftFront: SDLSingleTireStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSingleTireStatus *_Nonnull rightFront;
SWIFT
var rightFront: SDLSingleTireStatus { get set }
rightRear
The status of the right rear tire.
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSingleTireStatus *_Nonnull leftRear;
SWIFT
var leftRear: SDLSingleTireStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSingleTireStatus *_Nonnull rightRear;
innerLeftRear
The status of the inner left rear tire.
Required
innerRightRear
The status of the innter right rear tire.
Required
SWIFT
var rightRear: SDLSingleTireStatus { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSingleTireStatus *_Nonnull innerLeftRear;
SWIFT
var innerLeftRear: SDLSingleTireStatus { get set }
SDLTouch Class Reference
Section Contents
• -initWithTouchEvent:• identifier• location• timeStamp• isFirstFinger• isSecondFinger
Overview
Undocumented
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLSingleTireStatus *_Nonnull innerRightRear;
SWIFT
var innerRightRear: SDLSingleTireStatus { get set }
-initWithTouchEvent:
@abstract Initializes a touch.
touchEvent
Incoming touch event from onOnTouchEvent notification.
SDLTouch Instance of SDLTouch.
OBJECTIVE-C
- (nonnull instancetype)initWithTouchEvent:(nonnull SDLTouchEvent *)touchEvent;
SWIFT
init(touchEvent: SDLTouchEvent)
PARAMETERS
RETURN VALUE
identifier
@abstract Identifier of the touch’s finger. Refer to SDLTouchIdentifier for valid
identifiers.
location
@abstract Location of touch point, in the head unit’s coordinate system.
OBJECTIVE-C
@property (readonly, assign, nonatomic) NSInteger identifier;
SWIFT
var identifier: Int { get }
OBJECTIVE-C
@property (readonly, assign, nonatomic) CGPoint location;
timeStamp
@abstract Timestamp in which the touch occured.
isFirstFinger
@abstract Returns whether or not this touch is a first finger.
SWIFT
var location: CGPoint { get }
OBJECTIVE-C
@property (readonly, assign, nonatomic) NSUInteger timeStamp;
SWIFT
var timeStamp: UInt { get }
isSecondFinger
@abstract Returns whether or not this touch is a second finger.
OBJECTIVE-C
@property (readonly, assign, nonatomic) BOOL isFirstFinger;
SWIFT
var isFirstFinger: Bool { get }
OBJECTIVE-C
@property (readonly, assign, nonatomic) BOOL isSecondFinger;
SWIFT
var isSecondFinger: Bool { get }
SDLTouchCoord Class Reference
Section Contents
• x• y
Overview
The coordinate of a touch, used in a touch event
x
The x value of the touch coordinate
Required, float 0 - 10000
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull x;
SWIFT
var x: NSNumber & SDLFloat { get set }
y
The y value of the touch coordinate
Required, float 0 - 10000
SDLTouchEvent Class Reference
Section Contents
• touchEventId• timeStamp
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLFloat> *_Nonnull y;
SWIFT
var y: NSNumber & SDLFloat { get set }
• coord
Overview
A touch which occurred on the IVI system during projection
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.
Required, 0-9
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull touchEventId;
SWIFT
var touchEventId: NSNumber & SDLInt { 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.
Required, array size 1-1000, contains integer value 0-2000000000
coord
The touch’s coordinate
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<NSNumber<SDLInt> *> *_Nonnull timeStamp;
SWIFT
var timeStamp: [NSNumber & SDLInt] { get set }
Required, array size 1-1000
SDLTouchEventCapabilities ClassReference
Section Contents
• pressAvailable• multiTouchAvailable• doublePressAvailable
Overview
The capabilities of touches during projection applications
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSArray<SDLTouchCoord *> *_Nonnull coord;
SWIFT
var coord: [SDLTouchCoord] { get set }
pressAvailable
Whether or not long presses are available
multiTouchAvailable
Whether or not multi-touch (e.g. a pinch gesture) is available
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull pressAvailable;
SWIFT
var pressAvailable: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull multiTouchAvailable;
doublePressAvailable
Whether or not a double tap is available
SWIFT
var multiTouchAvailable: NSNumber & SDLBool { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLBool> *_Nonnull doublePressAvailable;
SWIFT
var doublePressAvailable: NSNumber & SDLBool { get set }
SDLTouchManager Class Reference
Section Contents
• touchEventDelegate• touchEventHandler• tapDistanceThreshold• panDistanceThreshold• tapTimeThreshold• movementTimeThreshold• enableSyncedPanning• touchEnabled• -cancelPendingTouches• -init• -initWithHitTester:• -syncFrame
Overview
Undocumented
touchEventDelegate
Notified of processed touches such as pinches, pans, and taps
OBJECTIVE-C
@property (readwrite, nonatomic, nullable) id<SDLTouchManagerDelegate> touchEventDelegate;
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.
NoteDefaults to 50 px.
OBJECTIVE-C
@property (readwrite, copy, nonatomic, nullable) SDLTouchEventHandler touchEventHandler;
SWIFT
var touchEventHandler: SDLTouchEventHandler? { get set }
OBJECTIVE-C
@property (assign, readwrite, nonatomic) CGFloat tapDistanceThreshold;
panDistanceThreshold
Minimum distance for a pan gesture in the head unit’s coordinate system, used
for registering pan callbacks.
NoteDefaults to 8 px.
tapTimeThreshold
@abstract Time (in seconds) between tap events to register a double-tap
callback. @remark Default is 0.4 seconds.
SWIFT
var tapDistanceThreshold: CGFloat { get set }
OBJECTIVE-C
@property (assign, readwrite, nonatomic) CGFloat panDistanceThreshold;
SWIFT
var panDistanceThreshold: CGFloat { get set }
movementTimeThreshold
@abstract Time (in seconds) between movement events to register panning or
pinching callbacks. @remark Default is 0.05 seconds.
OBJECTIVE-C
@property (assign, readwrite, nonatomic) CGFloat tapTimeThreshold;
SWIFT
var tapTimeThreshold: CGFloat { get set }
OBJECTIVE-C
@property (assign, readwrite, nonatomic) CGFloat movementTimeThreshold;
SWIFT
var movementTimeThreshold: CGFloat { get set }
enableSyncedPanning
If set to NO, the display link syncing will be ignored and movementTimeThresh
old will be used. Defaults to YES.
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;
-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
SWIFT
var isTouchEnabled: Bool { get set }
OBJECTIVE-C
- (void)cancelPendingTouches;
SWIFT
func cancelPendingTouches()
-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
OBJECTIVE-C
- (instancetype)init NS_UNAVAILABLE;
OBJECTIVE-C
- (nonnull instancetype)initWithHitTester: (nullable id<SDLFocusableItemHitTester>)hitTester;
PARAMETERS
RETURN VALUE
-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.
SDLTurn Class Reference
Section Contents
• -initWithNavigationText:turnIcon:• navigationText
OBJECTIVE-C
- (void)syncFrame;
SWIFT
func syncFrame()
• turnIcon
Overview
A struct used in UpdateTurnList for Turn-by-Turn navigation applications
-initWithNavigationText:turnIcon:
Undocumented
navigationText
Individual turn text. Must provide at least text or icon for a given turn
OBJECTIVE-C
- (instancetype)initWithNavigationText:(nullable NSString *)navigationText turnIcon:(nullable SDLImage *)icon;
SWIFT
init(navigationText: String?, turnIcon icon: SDLImage?)
turnIcon
Individual turn icon. Must provide at least text or icon for a given turn
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *navigationText;
SWIFT
var navigationText: String? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLImage *turnIcon;
SWIFT
var turnIcon: SDLImage? { get set }
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
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
OBJECTIVE-C
- (instancetype)initWithButtonName:(SDLButtonName)buttonName;
buttonName
A name of the button to unsubscribe from @discussion An Enumeration value,
see SDLButtonName
SWIFT
init(buttonName: SDLButtonName)
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLButtonName _Nonnull buttonName;
SWIFT
var buttonName: SDLButtonName { get set }
SDLUnsubscribeVehicleData 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
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
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
A boolean value. If true, unsubscribes 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
A boolean value. If true, unsubscribes speed data
rpm
A boolean value. If true, unsubscribe 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
A boolean value. If true, unsubscribes FuelLevel data
fuelLevel_State
A boolean value. If true, unsubscribes 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
A boolean value. If true, unsubscribes 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
A boolean value. If true, unsubscribes externalTemperature data
prndl
A boolean value. If true, unsubscribes 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
A boolean value. If true, unsubscribes tire pressure status data
odometer
A boolean value. If true, unsubscribes 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
A boolean value. If true, unsubscribes 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
A boolean value. If true, unsubscribes body Information data
deviceStatus
A boolean value. If true, unsubscribes 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
A boolean value. If true, unsubscribes driver Braking data
wiperStatus
A boolean value. If true, unsubscribes 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
A boolean value. If true, unsubscribes 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
A boolean value. If true, unsubscribes Engine Torque data
accPedalPosition
A boolean value. If true, unsubscribes accPedalPosition data
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
If true, unsubscribes from steeringWheelAngle
eCallInfo
If true, unsubscribes from eCallInfo
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
If true, unsubscribes from airbagStatus
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *eCallInfo;
SWIFT
var eCallInfo: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *airbagStatus;
SWIFT
var airbagStatus: (NSNumber & SDLBool)? { get set }
emergencyEvent
If true, unsubscribes from emergencyEvent
clusterModeStatus
If true, unsubscribes from clusterModeStatus
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *emergencyEvent;
SWIFT
var emergencyEvent: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *clusterModeStatus;
myKey
If true, unsubscribes from myKey
SWIFT
var clusterModeStatus: (NSNumber & SDLBool)? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLBool> *myKey;
SWIFT
var myKey: (NSNumber & SDLBool)? { get set }
SDLUnsubscribeVehicleDataResponseClass 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
Response to UnsubscribeVehicleData
since SmartDeviceLink 2.0
gps
The result of requesting to subscribe to the GPSData.
Optional
speed
The result of requesting to subscribe to the vehicle speed in kilometers per
hour.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *gps;
SWIFT
var gps: SDLVehicleDataResult? { get set }
rpm
The result of requesting to subscribe to the number of revolutions per minute of
the engine.
Optional
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
The result of requesting to subscribe to the fuel level in the tank (percentage)
Optional
fuelLevel_State
The result of requesting to subscribe to the fuel level state.
Optional
SWIFT
var rpm: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *fuelLevel;
SWIFT
var fuelLevel: SDLVehicleDataResult? { get set }
instantFuelConsumption
The result of requesting to subscribe to the instantaneous fuel consumption in
microlitres.
Optional
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
The result of requesting to subscribe to the external temperature in degrees
celsius.
Optional
prndl
The result of requesting to subscribe to the PRNDL status.
SWIFT
var instantFuelConsumption: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *externalTemperature;
SWIFT
var externalTemperature: SDLVehicleDataResult? { get set }
Optional
tirePressure
The result of requesting to subscribe to the tireStatus.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *prndl;
SWIFT
var prndl: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *tirePressure;
odometer
The result of requesting to subscribe to the odometer in km.
Optional
beltStatus
The result of requesting to subscribe to the status of the seat belts.
Optional
SWIFT
var tirePressure: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *odometer;
SWIFT
var odometer: SDLVehicleDataResult? { get set }
bodyInformation
The result of requesting to subscribe to the body information including power
modes.
Optional
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
The result of requesting to subscribe to the device status including signal and
battery strength.
Optional
driverBraking
The result of requesting to subscribe to 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 }
Optional
wiperStatus
The result of requesting to subscribe to the status of the wipers.
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *driverBraking;
SWIFT
var driverBraking: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *wiperStatus;
headLampStatus
The result of requesting to subscribe to the status of the head lamps.
Optional
engineTorque
The result of requesting to subscribe to the torque value for engine (in Nm) on
non-diesel variants.
SWIFT
var wiperStatus: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *headLampStatus;
SWIFT
var headLampStatus: SDLVehicleDataResult? { get set }
Optional
accPedalPosition
The result of requesting to subscribe to the accelerator pedal position
(percentage depressed)
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *engineTorque;
SWIFT
var engineTorque: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *accPedalPosition;
steeringWheelAngle
The result of requesting to subscribe to the current angle of the steering wheel
(in deg)
Optional
eCallInfo
The result of requesting to subscribe to the emergency call info
SWIFT
var accPedalPosition: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *steeringWheelAngle;
SWIFT
var steeringWheelAngle: SDLVehicleDataResult? { get set }
Optional
airbagStatus
The result of requesting to subscribe to the airbag status
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *eCallInfo;
SWIFT
var eCallInfo: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *airbagStatus;
emergencyEvent
The result of requesting to subscribe to the emergency event
Optional
clusterModes
The result of requesting to subscribe to the cluster modes
Optional
SWIFT
var airbagStatus: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *emergencyEvent;
SWIFT
var emergencyEvent: SDLVehicleDataResult? { get set }
myKey
The result of requesting to subscribe to the myKey status
Optional
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLVehicleDataResult *clusterModes;
SWIFT
var clusterModes: SDLVehicleDataResult? { get set }
OBJECTIVE-C
@property (readwrite, 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
A help item for voice commands, used locally in interaction lists and globally
-initWithText:image:
Undocumented
-initWithText:image:position:
Undocumented
OBJECTIVE-C
- (instancetype)initWithText:(NSString *)text image:(nullable SDLImage *)image;
SWIFT
init(text: String, image: SDLImage?)
text
Text to display for VR Help item
Required
OBJECTIVE-C
- (instancetype)initWithText:(NSString *)text image:(nullable SDLImage *)image position:(UInt8)position;
SWIFT
init(text: String, image: SDLImage?, position: UInt8)
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSString *_Nonnull text;
image
Image for VR Help item
Optional
position
Position to display item in VR Help list
Required
SWIFT
var text: String { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) SDLImage *image;
SWIFT
var image: SDLImage? { get set }
SDLVehicleDataResult Class Reference
Section Contents
• dataType• resultCode
Overview
Individual published data request result
dataType
Defined published data element type
OBJECTIVE-C
@property (readwrite, strong, nonatomic) NSNumber<SDLInt> *_Nonnull position;
SWIFT
var position: NSNumber & SDLInt { get set }
resultCode
Published data result code
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataType _Nonnull dataType;
SWIFT
var dataType: SDLVehicleDataType { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVehicleDataResultCode _Nonnull 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
The make of the vehicle
For example, “Ford”, “Lincoln”, etc.
Optional, Max String length 500 chars
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSString *make;
model
The model of the vehicle
For example, “Fiesta”, “Focus”, etc.
Optional, Max String length 500 chars
modelYear
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 }
For example, “2013”
Optional, Max String length 500 chars
trim
The trim of the vehicle
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
Contains information about this system’s video streaming capabilities
-
initWithPreferredResolution:maxBitrate:supportedFormats:hapticDataSupporte
Undocumented
SWIFT
var trim: String? { get set }
preferredResolution
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
The maximum bitrate of video stream that is supported, in kbps, optional
Optional, minvalue= 0, maxvalue= 2147483647
supportedFormats
Detailed information on each format supported by this system, in its preferred
order
SWIFT
var preferredResolution: SDLImageResolution? { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic, nullable) NSNumber<SDLInt> *maxBitrate;
SWIFT
var maxBitrate: (NSNumber & SDLInt)? { get set }
Optional
hapticSpatialDataSupported
True if the system can utilize the haptic spatial data from the source being
streamed.
Optional
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
An available format for video streaming in projection applications
protocol
Protocol type, see VideoStreamingProtocol
Required
SWIFT
var hapticSpatialDataSupported: (NSNumber & SDLBool)? { get set }
codec
Codec type, see VideoStreamingCodec
Required
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVideoStreamingProtocol _Nonnull protocol;
SWIFT
var `protocol`: SDLVideoStreamingProtocol { get set }
OBJECTIVE-C
@property (readwrite, strong, nonatomic) SDLVideoStreamingCodec _Nonnull codec;
-initWithCodec:protocol:
Undocumented
SWIFT
var codec: SDLVideoStreamingCodec { get set }
OBJECTIVE-C
- (instancetype)initWithCodec:(SDLVideoStreamingCodec)codec protocol:(SDLVideoStreamingProtocol)protocol;
SWIFT
init(codec: SDLVideoStreamingCodec, protocol: SDLVideoStreamingProtocol)
SDLVoiceCommand Class Reference
Section Contents
• voiceCommands• handler• -initWithVoiceCommands:handler:
Overview
Undocumented
voiceCommands
The strings the user can say to activate this voice command
OBJECTIVE-C
@property (readonly, copy, nonatomic) NSArray<NSString *> *_Nonnull voiceCommands;
SWIFT
var voiceCommands: [String] { get }
handler
The handler that will be called when the command is activated
-initWithVoiceCommands:handler:
Undocumented
OBJECTIVE-C
@property (readonly, copy, nonatomic, nullable) SDLVoiceCommandSelectionHandler handler;
SWIFT
var handler: SDLVoiceCommandSelectionHandler? { get }
OBJECTIVE-C
- (instancetype)initWithVoiceCommands:(NSArray<NSString *> *)voiceCommands handler:(SDLVoiceCommandSelectionHandler)handler;
SDLArtworkImageFormat EnumerationReference
Section Contents
• SDLArtworkImageFormatPNG• SDLArtworkImageFormatJPG
Overview
Undocumented
SDLArtworkImageFormatPNG
Undocumented
SWIFT
init(voiceCommands: [String], handler: @escaping SDLVoiceCommandSelectionHandler)
OBJECTIVE-C
SDLArtworkImageFormatPNG
SDLArtworkImageFormatJPG
Undocumented
SWIFT
case PNG = 0
OBJECTIVE-C
SDLArtworkImageFormatJPG
SWIFT
case JPG = 1
SDLAudioStreamManagerErrorEnumeration Reference
Section Contents
• SDLAudioStreamManagerErrorNotConnected• SDLAudioStreamManagerErrorNoQueuedAudio
Overview
Undocumented
SDLAudioStreamManagerErrorNotConnected
Undocumented
OBJECTIVE-C
SDLAudioStreamManagerErrorNotConnected = -1
SWIFT
case notConnected = -1
SDLAudioStreamManagerErrorNoQueuedAudio
Undocumented
SDLCarWindowRenderingTypeEnumeration Reference
Section Contents
• SDLCarWindowRenderingTypeLayer• SDLCarWindowRenderingTypeViewAfterScreenUpdates
OBJECTIVE-C
SDLAudioStreamManagerErrorNoQueuedAudio = -2
SWIFT
case noQueuedAudio = -2
• SDLCarWindowRenderingTypeViewBeforeScreenUpdates
Overview
The type of rendering that CarWindow will perform. Depending on your app,
you may need to try different ones for best performance
• SDLCarWindowRenderingTypeLayer: Instead of rendering your
UIViewController’s view, this will render the layer using renderInContext• SDLCarWindowRenderingTypeViewAfterScreenUpdates: Renders your
UIViewController’s view using drawViewHierarchyInRect:bounds
afterScreenUpdates:YES• SDLCarWindowRenderingTypeViewBeforeScreenUpdates: Renders your
UIViewController’s view using drawViewHierarchyInRect:bounds
afterScreenUpdates:NO
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• SDLFileManagerErrorFileDataMissing
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.
SDLFileManagerErrorFileDataMissing
The file manager could not find the local file.
OBJECTIVE-C
SDLFileManagerMultipleFileDeleteTasksFailed = -8
SWIFT
case multipleFileDeleteTasksFailed = -8
OBJECTIVE-C
SDLFileManagerErrorFileDataMissing = -9
SDLLogBytesDirection EnumerationReference
Section Contents
• SDLLogBytesDirectionTransmit• SDLLogBytesDirectionReceive
Overview
Undocumented
SDLLogBytesDirectionTransmit
Undocumented
SWIFT
case errorFileDataMissing = -9
OBJECTIVE-C
SDLLogBytesDirectionTransmit
SDLLogBytesDirectionReceive
Undocumented
SWIFT
case transmit = 0
OBJECTIVE-C
SDLLogBytesDirectionReceive
SWIFT
case receive = 1
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
OBJECTIVE-C
SDLLogFlagError = 1 << 0
SDLLogFlagWarning
Undocumented
SDLLogFlagDebug
Undocumented
SWIFT
static var error: SDLLogFlag { get }
OBJECTIVE-C
SDLLogFlagWarning = 1 << 1
SWIFT
static var warning: SDLLogFlag { get }
SDLLogFlagVerbose
Undocumented
OBJECTIVE-C
SDLLogFlagDebug = 1 << 2
SWIFT
static var debug: SDLLogFlag { get }
OBJECTIVE-C
SDLLogFlagVerbose = 1 << 3
SWIFT
static var verbose: SDLLogFlag { get }
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
SDLLogFormatTypeSimple
Undocumented
OBJECTIVE-C
SDLLogFormatTypeSimple
SDLLogFormatTypeDefault
Undocumented
SDLLogFormatTypeDetailed
Undocumented
SWIFT
case simple = 0
OBJECTIVE-C
SDLLogFormatTypeDefault
SWIFT
case `default` = 1
SDLLogLevel Enumeration Reference
Section Contents
• SDLLogLevelDefault• SDLLogLevelOff• SDLLogLevelError• SDLLogLevelWarning• SDLLogLevelDebug
OBJECTIVE-C
SDLLogFormatTypeDetailed
SWIFT
case detailed = 2
• 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
OBJECTIVE-C
SDLLogLevelDefault = -1
SWIFT
case `default` = -1
SDLLogLevelOff
Undocumented
SDLLogLevelError
Undocumented
OBJECTIVE-C
SDLLogLevelOff = 0
SWIFT
case off = 0
OBJECTIVE-C
SDLLogLevelError = SDLLogFlagError
SDLLogLevelWarning
Undocumented
SDLLogLevelDebug
Undocumented
SWIFT
case error = 1
OBJECTIVE-C
SDLLogLevelWarning = (SDLLogFlagError | SDLLogFlagWarning)
SWIFT
case warning = 3
SDLLogLevelVerbose
Undocumented
OBJECTIVE-C
SDLLogLevelDebug = (SDLLogFlagWarning | SDLLogFlagDebug)
SWIFT
case debug = 6
OBJECTIVE-C
SDLLogLevelVerbose = (SDLLogFlagDebug | SDLLogFlagVerbose)
SWIFT
case verbose = 12
SDLManagerError EnumerationReference
Section Contents
• SDLManagerErrorRPCRequestFailed• SDLManagerErrorNotConnected• SDLManagerErrorNotReady• SDLManagerErrorUnknownRemoteError• SDLManagerErrorManagersFailedToStart• SDLManagerErrorRegistrationFailed• SDLManagerErrorRegistrationSuccessWithWarning• SDLManagerErrorCancelled
Overview
Errors associated with the SDLManager class.
SDLManagerErrorRPCRequestFailed
An RPC request failed to send.
OBJECTIVE-C
SDLManagerErrorRPCRequestFailed = -1
SDLManagerErrorNotConnected
Some action was attempted that requires a connection to the remote head unit.
SDLManagerErrorNotReady
Some action was attempted before the ready state was reached.
SWIFT
case rpcRequestFailed = -1
OBJECTIVE-C
SDLManagerErrorNotConnected = -2
SWIFT
case notConnected = -2
SDLManagerErrorUnknownRemoteError
The remote system encountered an unknown error.
OBJECTIVE-C
SDLManagerErrorNotReady = -3
SWIFT
case notReady = -3
OBJECTIVE-C
SDLManagerErrorUnknownRemoteError = -4
SWIFT
case unknownRemoteError = -4
SDLManagerErrorManagersFailedToStart
One or more of the sub-managers failed to start.
SDLManagerErrorRegistrationFailed
Registering with the remote system failed.
OBJECTIVE-C
SDLManagerErrorManagersFailedToStart = -5
SWIFT
case managersFailedToStart = -5
OBJECTIVE-C
SDLManagerErrorRegistrationFailed = -6
SDLManagerErrorRegistrationSuccessWithWarning
Registering with the remote system was successful, but had a warning.
SDLManagerErrorCancelled
Request operations were cancelled before they could be sent
SWIFT
case registrationFailed = -6
OBJECTIVE-C
SDLManagerErrorRegistrationSuccessWithWarning = -7
SWIFT
case registrationSuccessWithWarning = -7
SDLMenuManagerError EnumerationReference
Section Contents
• SDLMenuManagerErrorRPCsFailed
Overview
Errors associated with the ScreenManager class
• SDLMenuManagerErrorRPCsFailed: Sending menu-related RPCs returned
an error from the remote system
OBJECTIVE-C
SDLManagerErrorCancelled = -8
SWIFT
case cancelled = -8
SDLMenuManagerErrorRPCsFailed
Undocumented
SDLPermissionGroupStatusEnumeration Reference
Section Contents
• SDLPermissionGroupStatusAllowed• SDLPermissionGroupStatusDisallowed• SDLPermissionGroupStatusMixed
OBJECTIVE-C
SDLMenuManagerErrorRPCsFailed = -1
SWIFT
case rpcsFailed = -1
• SDLPermissionGroupStatusUnknown
Overview
The status of the group of RPCs permissions.
SDLPermissionGroupStatusAllowed
Every RPC in the group is currently allowed.
SDLPermissionGroupStatusDisallowed
Every RPC in the group is currently disallowed.
OBJECTIVE-C
SDLPermissionGroupStatusAllowed
SWIFT
case allowed = 0
OBJECTIVE-C
SDLPermissionGroupStatusDisallowed
SDLPermissionGroupStatusMixed
Some RPCs in the group are allowed and some disallowed.
SDLPermissionGroupStatusUnknown
The current status of the group is unknown.
SWIFT
case disallowed = 1
OBJECTIVE-C
SDLPermissionGroupStatusMixed
SWIFT
case mixed = 2
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.
OBJECTIVE-C
SDLPermissionGroupStatusUnknown
SWIFT
case unknown = 3
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.
SDLPermissionGroupTypeAny
Be notified when any change in availability occurs among the group.
OBJECTIVE-C
SDLPermissionGroupTypeAllAllowed
SWIFT
case allAllowed = 0
OBJECTIVE-C
SDLPermissionGroupTypeAny
SDLRPCMessageType EnumerationReference
Section Contents
• SDLRPCMessageTypeRequest• SDLRPCMessageTypeResponse• SDLRPCMessageTypeNotification
Overview
The type of RPC message
• SDLRPCMessageTypeRequest: A request from the app to the IVI system• SDLRPCMessageTypeResponse: A response from the IVI system to the app• SDLRPCMessageTypeNotification: A notification from the IVI system to the
app
SDLRPCMessageTypeRequest
Undocumented
SWIFT
case any = 1
SDLRPCMessageTypeResponse
Undocumented
OBJECTIVE-C
SDLRPCMessageTypeRequest = 0
SWIFT
case request = 0
OBJECTIVE-C
SDLRPCMessageTypeResponse
SWIFT
case response = 1
SDLRPCMessageTypeNotification
Undocumented
SDLSoftButtonManagerErrorEnumeration Reference
Section Contents
• SDLSoftButtonManagerErrorPendingUpdateSuperseded
OBJECTIVE-C
SDLRPCMessageTypeNotification
SWIFT
case notification = 2
Overview
Errors associated with the ScreenManager class
• SDLSoftButtonManagerErrorPendingUpdateSuperseded: A pending update
was superseded by a newer requested update. The old update will not be
sent
SDLSoftButtonManagerErrorPendingUpdateSuperseded
Undocumented
OBJECTIVE-C
SDLSoftButtonManagerErrorPendingUpdateSuperseded = -1
SWIFT
case pendingUpdateSuperseded = -1
SDLStreamingEncryptionFlagEnumeration Reference
Section Contents
• SDLStreamingEncryptionFlagNone• SDLStreamingEncryptionFlagAuthenticateOnly• SDLStreamingEncryptionFlagAuthenticateAndEncrypt
Overview
A flag determining how video and audio streaming should be encrypted
• SDLStreamingEncryptionFlagNone: It should not be encrypted at all• SDLStreamingEncryptionFlagAuthenticateOnly: It should use SSL/TLS only
to authenticate• SDLStreamingEncryptionFlagAuthenticateAndEncrypt: All data on these
services should be encrypted using SSL/TLS
SDLStreamingEncryptionFlagNone
Undocumented
OBJECTIVE-C
SDLStreamingEncryptionFlagNone
SDLStreamingEncryptionFlagAuthenticateOnly
Undocumented
SDLStreamingEncryptionFlagAuthenticateAndEncrypt
Undocumented
SWIFT
case none = 0
OBJECTIVE-C
SDLStreamingEncryptionFlagAuthenticateOnly
SWIFT
case authenticateOnly = 1
SDLTextAndGraphicManagerErrorEnumeration Reference
Section Contents
• SDLTextAndGraphicManagerErrorPendingUpdateSuperseded
Overview
Errors associated with the ScreenManager class
• SDLTextAndGraphicManagerErrorPendingUpdateSuperseded: A pending
update was superseded by a newer requested update. The old update will
not be sent
OBJECTIVE-C
SDLStreamingEncryptionFlagAuthenticateAndEncrypt
SWIFT
case authenticateAndEncrypt = 2
SDLTextAndGraphicManagerErrorPendingUpdateSuperseded
Undocumented
SDLAudioStreamManagerDelegateProtocol Reference
Section Contents
• -audioStreamManager:fileDidFinishPlaying:successfully:
OBJECTIVE-C
SDLTextAndGraphicManagerErrorPendingUpdateSuperseded = -1
SWIFT
case pendingUpdateSuperseded = -1
• -audioStreamManager:errorDidOccurForFile:error:
Overview
Undocumented
-
audioStreamManager:fileDidFinishPlaying:successfully:
Called when a file from the SDLAudioStreamManager finishes playing
audioManager
OBJECTIVE-C
- (void)audioStreamManager:(nonnull SDLAudioStreamManager *)audioManager fileDidFinishPlaying:(nonnull NSURL *)fileURL successfully:(BOOL)successfully;
SWIFT
func audioStreamManager(_ audioManager: SDLAudioStreamManager, fileDidFinishPlaying fileURL: URL, successfully: Bool)
PARAMETERS
A reference to the audio stream manager
fileURL
The URL that finished playing
successfully
Whether or not it was played successfully
-audioStreamManager:errorDidOccurForFile:error:
Called when a file from the SDLAudioStreamManager could not play
OBJECTIVE-C
- (void)audioStreamManager:(nonnull SDLAudioStreamManager *)audioManager errorDidOccurForFile:(nonnull NSURL *)fileURL error:(nonnull NSError *)error;
SWIFT
func audioStreamManager(_ audioManager: SDLAudioStreamManager, errorDidOccurForFile fileURL: URL, error: Error)
audioManager
A reference to the audio stream manager
fileURL
The URL that failed
error
The error that occurred
SDLLogTarget Protocol Reference
Section Contents
• +logger• -setupLogger• -logWithLog:formattedLog:• -teardownLogger
Overview
A protocol describing a place logs from SDLLogManager are logged to
PARAMETERS
+logger
A simple convenience initializer to create the object. This should not start up
the logger.
An instance of the logger.
-setupLogger
A call to setup the logger in whatever manner it needs to do so.
OBJECTIVE-C
+ (nonnull id<SDLLogTarget>)logger;
SWIFT
static func logger() -> SDLLogTarget
RETURN VALUE
Whether or not the logger set up correctly.
-logWithLog:formattedLog:
Log a particular log using the model and the formatted log message to the
target.
OBJECTIVE-C
- (BOOL)setupLogger;
SWIFT
func setupLogger() -> Bool
RETURN VALUE
OBJECTIVE-C
- (void)logWithLog:(nonnull SDLLogModel *)log formattedLog:(nonnull NSString *)stringLog;
log
The log model, if you can log additional data, such as the log level, use
this
stringLog
The formatted message
-teardownLogger
The log target should be torn down. e.g. file handles should be closed
SWIFT
func log(withLog log: SDLLogModel, formattedLog stringLog: String)
PARAMETERS
OBJECTIVE-C
- (void)teardownLogger;
SDLManagerDelegate ProtocolReference
Section Contents
• -managerDidDisconnect• -hmiLevel:didChangeToLevel:• -audioStreamingState:didChangeToState:• -systemContext:didChangeToContext:• -managerShouldUpdateLifecycleToLanguage:
Overview
Undocumented
-managerDidDisconnect
Called upon a disconnection from the remote system.
SWIFT
func teardownLogger()
-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()
OBJECTIVE-C
- (void)hmiLevel:(nonnull SDLHMILevel)oldLevel didChangeToLevel:(nonnull SDLHMILevel)newLevel;
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.
SWIFT
func hmiLevel(_ oldLevel: SDLHMILevel, didChangeToLevel newLevel: SDLHMILevel)
PARAMETERS
OBJECTIVE-C
- (void)audioStreamingState:(nullable SDLAudioStreamingState)oldState didChangeToState:(nonnull SDLAudioStreamingState)newState;
oldState
The previous state which has now been left.
newState
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.
SWIFT
optional func audioStreamingState(_ oldState: SDLAudioStreamingState?, didChangeToState newState: SDLAudioStreamingState)
PARAMETERS
OBJECTIVE-C
- (void)systemContext:(nullable SDLSystemContext)oldContext didChangeToContext:(nonnull SDLSystemContext)newContext;
oldContext
The previous context which has now been left.
newContext
The current context.
-managerShouldUpdateLifecycleToLanguage:
Called when the lifecycle manager detected a language mismatch. In case of a
language mismatch the manager should change the apps registration by
updating the lifecycle configuration to the specified language. If the app can
support the specified language it should return an Object of
SWIFT
optional func systemContext(_ oldContext: SDLSystemContext?, didChangeToContext newContext: SDLSystemContext)
PARAMETERS
SDLLifecycleConfigurationUpdate, otherwise it should return nil to indicate that
the language is not supported.
language
The language of the connected head unit the manager is trying to
update the configuration.
OBJECTIVE-C
- (nullable SDLLifecycleConfigurationUpdate *)managerShouldUpdateLifecycleToLanguage:(nonnull SDLLanguage)language;
SWIFT
optional func managerShouldUpdateLifecycle(toLanguage language: SDLLanguage) -> SDLLifecycleConfigurationUpdate?
PARAMETERS
An object of SDLLifecycleConfigurationUpdate if the head unit language is
supported, otherwise nil to indicate that the language is not supported.
SDLSecurityType Protocol Reference
Section Contents
• appId• -initializeWithAppId:completionHandler:• -stop• -runHandshakeWithClientData:error:• -encryptData:withError:• -decryptData:withError:• +availableMakes
Overview
A protocol used by SDL Security libraries.
WarningUsed internally
appId
The app id of the app
RETURN VALUE
-initializeWithAppId:completionHandler:
Initialize the SDL security library with the app’s id and a completion handler
OBJECTIVE-C
@property (readwrite, copy, nonatomic) NSString *_Nonnull appId;
SWIFT
var appId: String { get set }
OBJECTIVE-C
- (void)initializeWithAppId:(nonnull NSString *)appId completionHandler: (nonnull void (^)(NSError *_Nullable))completionHandler;
appId
The app’s id
completionHandler
A handler for when the security library is initialized
-stop
Stop the security library
SWIFT
func initialize(withAppId appId: String, completionHandler: @escaping (Error?) -> Void)
PARAMETERS
OBJECTIVE-C
- (void)stop;
-runHandshakeWithClientData:error:
Run the SSL/TLS handshake
data
SWIFT
func stop()
OBJECTIVE-C
- (nullable NSData *)runHandshakeWithClientData:(nonnull NSData *)data error:(NSError *_Nullable *_Nullable) error;
SWIFT
func runHandshake(withClientData data: Data) throws -> Data
PARAMETERS
The client data for the handshake
error
A returnable error
The server handshake data
-encryptData:withError:
Encrypt data using SSL/TLS
RETURN VALUE
OBJECTIVE-C
- (nullable NSData *)encryptData:(nonnull NSData *)data withError:(NSError *_Nullable *_Nullable)error;
SWIFT
func encryptData(_ data: Data) throws -> Data
data
The data to encrypt
error
A returnable error
The encrypted data
-decryptData:withError:
Decrypt data using SSL/TLS
PARAMETERS
RETURN VALUE
OBJECTIVE-C
- (nullable NSData *)decryptData:(nonnull NSData *)data withError:(NSError *_Nullable *_Nullable)error;
data
The data to decrypt
error
A returnable error
The decrypted data
+availableMakes
The vehicle makes this security library covers
SWIFT
func decryptData(_ data: Data) throws -> Data
PARAMETERS
RETURN VALUE
The makes
SDLStreamingAudioManagerTypeProtocol Reference
Section Contents
• audioConnected
OBJECTIVE-C
+ (nonnull NSSet<NSString *> *)availableMakes;
SWIFT
static func availableMakes() -> Set<String>
RETURN VALUE
• -sendAudioData:
Overview
Undocumented
audioConnected
Whether or not the audio byte stream is currently connected
-sendAudioData:
Send audio data bytes over the audio byte stream
OBJECTIVE-C
@property (readonly, getter=isAudioConnected, assign, nonatomic) BOOL audioConnected;
SWIFT
var isAudioConnected: Bool { get }
audioData
The PCM data bytes
Whether or not it sent successfully
OBJECTIVE-C
- (BOOL)sendAudioData:(NSData *)audioData;
SWIFT
func sendAudioData(_ audioData: Data!) -> Bool
PARAMETERS
RETURN VALUE
SDLStreamingMediaManagerDataSourceProtocol Reference
Section Contents
• -preferredVideoFormatOrderFromHeadUnitPreferredOrder:• -resolutionFromHeadUnitPreferredResolution:
Overview
Undocumented
-
preferredVideoFormatOrderFromHeadUnitPreferredOrder:
Implement to return a different preferred order of attempted format usage than
the head unit’s preferred order. In nearly all cases, it’s best to simply return the
head unit’s preferred order, or not implement this method (which does the
same thing).
Warning
If you return a format that is not supported by the StreamingMediaManager,
that format will be skipped.
Note
If the head unit does not support the GetSystemCapabilities RPC, this method
will not be called and H264 RAW will be used.
headUnitPreferredOrder
The head unit’s preferred order of format usage. The first item is the
one that will be used unless this proxy does not support it, then the
next item, etc.
OBJECTIVE-C
- (nonnull NSArray<SDLVideoStreamingFormat *> *)preferredVideoFormatOrderFromHeadUnitPreferredOrder: (nonnull NSArray<SDLVideoStreamingFormat *> *)headUnitPreferredOrder;
SWIFT
func preferredVideoFormatOrder(fromHeadUnitPreferredOrder headUnitPreferredOrder: [SDLVideoStreamingFormat]) -> [SDLVideoStreamingFormat]
PARAMETERS
Your preferred order of format usage.
-resolutionFromHeadUnitPreferredResolution:
Implement to return a different resolution to use for video streaming than the
head unit’s requested resolution. If you return a resolution that the head unit
does not like, the manager will fail to start up. In nearly all cases, it’s best to
simply return the head unit’s preferred order, or not implement this method
(which does the same thing), and adapt your UI to the head unit’s preferred
resolution instead.
RETURN VALUE
OBJECTIVE-C
- (nonnull NSArray<SDLImageResolution *> *)resolutionFromHeadUnitPreferredResolution: (nonnull SDLImageResolution *)headUnitPreferredResolution;
SWIFT
func resolution(fromHeadUnitPreferredResolution headUnitPreferredResolution: SDLImageResolution) -> [SDLImageResolution]
headUnitPreferredResolution
The resolution the head unit requested to use.
Your preferred order of image resolution usage. This system will not attempt
more than 3 resolutions. It is strongly recommended that at least one resolution
is the head unit’s preferred resolution.
SDLTouchManagerDelegate ProtocolReference
Section Contents
• -touchManager:didReceiveSingleTapForView:atPoint:• -touchManager:didReceiveDoubleTapForView:atPoint:• -touchManager:panningDidStartInView:atPoint:• -touchManager:didReceivePanningFromPoint:toPoint:• -touchManager:panningDidEndInView:atPoint:• -touchManager:panningCanceledAtPoint:• -touchManager:pinchDidStartInView:atCenterPoint:• -touchManager:didReceivePinchAtCenterPoint:withScale:• -touchManager:didReceivePinchInView:atCenterPoint:withScale:• -touchManager:pinchDidEndInView:atCenterPoint:
PARAMETERS
RETURN VALUE
• -touchManager:pinchCanceledAtCenterPoint:
Overview
Undocumented
-touchManager:didReceiveSingleTapForView:atPoint:
A single tap was received
manager
The SDLTouchManager issuing the callback
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)
PARAMETERS
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
OBJECTIVE-C
- (void)touchManager:(nonnull SDLTouchManager *)manager didReceiveDoubleTapForView:(UIView *_Nullable)view atPoint:(CGPoint)point;
SWIFT
optional func touchManager(_ manager: SDLTouchManager, didReceiveDoubleTapFor view: UIView?, at point: CGPoint)
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
PARAMETERS
OBJECTIVE-C
- (void)touchManager:(nonnull SDLTouchManager *)manager panningDidStartInView:(UIView *_Nullable)view atPoint:(CGPoint)point;
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.
-
touchManager:didReceivePanningFromPoint:toPoint:
Panning moved between points
SWIFT
optional func touchManager(_ manager: SDLTouchManager, panningDidStartIn view: UIView?, at point: CGPoint)
PARAMETERS
manager
The SDLTouchManager issuing the callback
fromPoint
Location of the panning’s previous point in the head unit’s coordinate
system
toPoint
Location of the panning’s new 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
-touchManager:panningDidEndInView:atPoint:
Panning ended
manager
The SDLTouchManager issuing the callback
view
The view under where the panning ended if it could be determined
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
point
Location of the panning’s end point in the head unit’s coordinate
system
-touchManager:panningCanceledAtPoint:
Panning canceled
manager
The SDLTouchManager issuing the callback
OBJECTIVE-C
- (void)touchManager:(nonnull SDLTouchManager *)manager panningCanceledAtPoint:(CGPoint)point;
SWIFT
optional func touchManager(_ manager: SDLTouchManager, panningCanceledAt point: CGPoint)
PARAMETERS
point
Location of the panning’s end point in the head unit’s coordinate
system
-touchManager:pinchDidStartInView:atCenterPoint:
Pinch did start
manager
The SDLTouchManager issuing the callback
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)
PARAMETERS
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.
OBJECTIVE-C
- (void)touchManager:(nonnull SDLTouchManager *)manager didReceivePinchAtCenterPoint:(CGPoint)point withScale:(CGFloat)scale;
SWIFT
optional func touchManager(_ manager: SDLTouchManager, didReceivePinchAtCenter point: CGPoint, withScale scale: CGFloat)
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
PARAMETERS
OBJECTIVE-C
- (void)touchManager:(nonnull SDLTouchManager *)manager didReceivePinchInView:(UIView *_Nullable)view atCenterPoint:(CGPoint)point withScale:(CGFloat)scale;
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
scale
Scale relative to the distance between touch points
-touchManager:pinchDidEndInView:atCenterPoint:
Pinch did end
SWIFT
optional func touchManager(_ manager: SDLTouchManager, didReceivePinchIn view: UIView?, atCenter 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 pinchDidEndInView:(UIView *_Nullable)view atCenterPoint:(CGPoint)point;
SWIFT
optional func touchManager(_ manager: SDLTouchManager, pinchDidEndIn view: UIView?, atCenter point: CGPoint)
PARAMETERS
-touchManager:pinchCanceledAtCenterPoint:
Pinch canceled
manager
The SDLTouchManager issuing the callback
point
Center point of the pinch in the head unit’s coordinate system
OBJECTIVE-C
- (void)touchManager:(nonnull SDLTouchManager *)manager pinchCanceledAtCenterPoint:(CGPoint)point;
SWIFT
optional func touchManager(_ manager: SDLTouchManager, pinchCanceledAtCenter point: CGPoint)
PARAMETERS
SDLTouchIdentifier Type DefinitionReference
Section Contents
•
Overview
Undocumented
UndocumentedSee more
OBJECTIVE-C
enum { SDLTouchIdentifierFirstFinger = 0, SDLTouchIdentifierSecondFinger = 1}
SWIFT
struct SDLTouchIdentifier : Equatable, RawRepresentable