Configuration options for SDLManager
Initializer unavailable
- (nonnull instancetype)init;
A production configuration that runs using IAP. Additional functionality should be customized on the properties.
+ (nonnull SDLLifecycleConfiguration *)
defaultConfigurationWithAppName:(nonnull NSString *)appName
fullAppId:(nonnull NSString *)fullAppId;
/*not inherited*/ init(appName: String, fullAppId: String)
The name of the app.
The full app id to be used. This should be registered with the head unit’s manufacturer. When set, the appId
parameter will be set automatically to the first 10 non-dash characters of the fullAppId
.
The lifecycle configuration
A debug configuration that runs using TCP. Additional functionality should be customized on the properties.
+ (nonnull SDLLifecycleConfiguration *)
debugConfigurationWithAppName:(nonnull NSString *)appName
fullAppId:(nonnull NSString *)fullAppId
ipAddress:(nonnull NSString *)ipAddress
port:(UInt16)port;
/*not inherited*/ init(appName: String, fullAppId: String, ipAddress: String, port: UInt16)
The name of the app.
The full app id to be used. This should be registered with the head unit’s manufacturer. When set, the appId
parameter will be set automatically to the first 10 non-dash characters of the fullAppId
if the fullAppId
is a valid UUID string. Otherwise, the appId
parameter will be set to the same string as the fullAppId
parameter. If you want to set the appId
parameter separately, set the fullAppId
here, then set the appId
parameter separately.
The ip address of the server to connect to
The port of the server to connect to
The lifecycle configuration
Whether or not debug mode is enabled
@property (nonatomic, readonly) BOOL tcpDebugMode;
var tcpDebugMode: Bool { get }
The ip address at which the library will look for a server
@property (nonatomic, copy, readonly, null_resettable) NSString *tcpDebugIPAddress;
var tcpDebugIPAddress: String! { get }
The port at which the library will look for a server
@property (nonatomic, readonly) UInt16 tcpDebugPort;
var tcpDebugPort: UInt16 { get }
The full name of the app
@property (nonatomic, copy) NSString *_Nonnull appName;
var appName: String { get set }
The app id. This must be the same as the app id received from the SDL developer portal.
See
fullAppId
Required
@property (nonatomic, copy) NSString *_Nonnull appId;
var appId: String { get set }
The full app id. This must be the same as the full app id received from the SDL developer portal.
Optional
@discussion The fullAppId
is used to authenticate apps that connect with modules that support RPC spec v.5.0 and newer. If connecting with older modules, the fullAppId
may be truncated to create the required appId
needed to register the app on older modules. The appId
is the first 10 non-dash (“-”) characters of the fullAppId
(e.g. if you have a fullAppId
of 123e4567-e89b-12d3-a456-426655440000, the appId
will be 123e4567e8).
@property (nonatomic, copy, readonly, nullable) NSString *fullAppId;
var fullAppId: String? { get }
A hash id which should be passed to the remote system in the RegisterAppInterface
@property (nonatomic, copy, nullable) NSString *resumeHash;
var resumeHash: String? { get set }
This is an automatically set based on the app type
@property (nonatomic, readonly) BOOL isMedia;
var isMedia: Bool { get }
The application type
@property (nonatomic, strong, null_resettable) SDLAppHMIType appType;
var appType: SDLAppHMIType! { get set }
Additional application types beyond appType
@property (nonatomic, copy, nullable) NSArray<SDLAppHMIType> *additionalAppTypes;
var additionalAppTypes: [SDLAppHMIType]? { get set }
The default language to use
@property (nonatomic, strong) SDLLanguage _Nonnull language;
var language: SDLLanguage { get set }
An array of all the supported languages
@property (nonatomic, strong) NSArray<SDLLanguage> *_Nonnull languagesSupported;
var languagesSupported: [SDLLanguage] { get set }
The application icon to be used on an app launching screen
@property (nonatomic, strong, nullable) SDLFile *appIcon;
var appIcon: SDLFile? { get set }
An abbrevited application name that will be used on the app launching screen if the full one would be truncated
@property (nonatomic, copy, nullable) NSString *shortAppName;
var shortAppName: String? { get set }
A Text to Speech String for voice recognition of the mobile application name.
@property (nonatomic, copy, nullable) NSArray<SDLTTSChunk *> *ttsName;
var ttsName: [SDLTTSChunk]? { get set }
Additional voice recognition commands. May not interfere with any other app name or global commands.
@property (nonatomic, copy, nullable) NSArray<NSString *> *voiceRecognitionCommandNames;
var voiceRecognitionCommandNames: [String]? { get set }
The color scheme to use when the head unit is in a light / day situation.
@property (nonatomic, copy, nullable) SDLTemplateColorScheme *dayColorScheme;
@NSCopying var dayColorScheme: SDLTemplateColorScheme? { get set }
The color scheme to use when the head unit is in a dark / night situation.
@property (nonatomic, copy, nullable) SDLTemplateColorScheme *nightColorScheme;
@NSCopying var nightColorScheme: SDLTemplateColorScheme? { get set }
The minimum protocol version that will be permitted to connect. This defaults to 1.0.0. If the protocol version of the head unit connected is below this version, the app will disconnect with an EndService protocol message and will not register.
@property (nonatomic, strong) SDLVersion *_Nonnull minimumProtocolVersion;
var minimumProtocolVersion: SDLVersion { get set }
The minimum RPC version that will be permitted to connect. This defaults to 1.0.0. If the RPC version of the head unit connected is below this version, an UnregisterAppInterface will be sent.
@property (nonatomic, strong) SDLVersion *_Nonnull minimumRPCVersion;
var minimumRPCVersion: SDLVersion { get set }
Which transports are permitted to be used as secondary transports. A secondary transport is a transport that is connected as an alternate, higher bandwidth transport for situations when a low-bandwidth primary transport (such as Bluetooth) will restrict certain features (such as video streaming navigation).
The only currently available secondary transport is TCP over WiFi. This is set to permit TCP by default, but it can be disabled by using SDLSecondaryTransportsNone instead.
This will only affect apps that have high-bandwidth requirements; currently that is only video streaming navigation apps.
@property (nonatomic) SDLSecondaryTransports allowedSecondaryTransports;
var allowedSecondaryTransports: SDLSecondaryTransports { get set }