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

Multiple Transports (Protocol v5.1+)

The multiple transports feature allows apps to carry their SDL session over multiple transports. The first transport that the app connects with is referred to as the primary transport and a transport connected at a later point is the secondary transport. For example, apps can register over Bluetooth or USB as a primary transport, then connect over WiFi when necessary (ex. to allow video/audio streaming) as a secondary transport. This feature is supported on connections with protocol version 5.1+, which is supported on SDL iOS 6.1+ and SDL Core 5.0+.

Primary Transports

On head units that support multiple transports, the primary transport will be used for RPC communication while the secondary transport will be used for high bandwidth services such as streaming video data for navigation applications. If no high-bandwidth secondary transport is present, the primary transport will be used for all needed services that the transport supports.

The only primary transport available for iOS in production applications is iAP.

Secondary Transports

Secondary transports must be enabled by the module to which the app is connecting. TCP over WiFi can be configured as a supported secondary transport.

By default, TCP is a configured secondary transport, but this can be disabled.

SDLLifecycleConfiguration *lifecycleConfig = [SDLLifecycleConfiguration defaultConfigurationWithAppName:<#AppName#> fullAppId:<#AppID#>];
lifecycleConfig.allowedSecondaryTransports = SDLSecondaryTransportsNone;
let lifecycleConfig = SDLLifecycleConfiguration(appName: <#AppName#>, fullAppId: <#AppID#>)
lifecycleConfiguration.allowedSecondaryTransports = []
View on GitHub.com
Previous Section Next Section