Welcome to the SmartDeviceLink iOS documentation! SmartDeviceLink (SDL) is a standard set of protocols and messages that connects mobile applications to vehicle infotainment systems. This documentation is specifically for the iOS version of SmartDeviceLink.
About SmartDeviceLink
SmartDeviceLink allows mobile applications to interact with vehicle head units or infotainment systems using a common set of APIs. By integrating your app with SmartDeviceLink, you can provide drivers with an enhanced, driver-friendly version of your app right on their vehicle’s screen.
Installation
To use the SmartDeviceLink SDK in your iOS application, you need to follow these steps:
- Make sure you meet the system requirements for using SmartDeviceLink on iOS devices.
- Create a new Xcode project or open an existing one.
- Install the SmartDeviceLink CocoaPods dependency by adding it to your project’s Podfile.
- Install the dependencies by running the ‘pod install’ command in the Terminal.
- Import the necessary SmartDeviceLink modules in your code.
- Set up SDL in your app delegate to establish a connection between your app and the vehicle’s head unit.
- Configure SDL and handle RPCs to interact with the vehicle’s infotainment system.
Getting Started
After successfully installing the SmartDeviceLink SDK, you can begin using SDL APIs to create an amazing in-vehicle experience for your users. Here’s a quick guide to get started:
- Initialize the SDL manager and set up its configuration.
- Establish a connection between your iOS app and the vehicle’s head unit using SDL proxy.
- Register your app with SDL using your app ID and icon resources.
- Handle important SDL lifecycle events such as onProxyClosed, onProxyOpened, onProxyTransportUpdated, etc.
- Send RPCs (Remote Procedure Calls) to interact with the vehicle’s infotainment system.
- Handle RPC responses and notifications to provide feedback to the user.
For detailed examples and code snippets, refer to the SmartDeviceLink iOS documentation here.
Features
The SmartDeviceLink iOS SDK offers a wide range of features to enhance your app’s integration with in-vehicle systems. Some key features include:
- Basic RPC support for common operations like displaying graphics, playing audio, sending system prompts, etc.
- Advanced media streaming capabilities to play audio and video content in the vehicle.
- Voice recognition to enable voice commands and speech recognition.
- Navigation integration to display turn-by-turn directions and traffic information.
- Vehicle data monitoring to retrieve information about the vehicle’s speed, fuel level, tire pressure, etc.
- Custom iAP 2 connectivity to interact with iOS devices connected through USB.
For a complete list of supported features, refer to the SmartDeviceLink iOS documentation here.
Support
If you encounter any issues while using SmartDeviceLink for iOS or have any questions, feel free to engage with our community and developers for support. You can join our mailing list, participate in our forums, or submit an issue on GitHub. We are here to help!
For more information and resources, visit the SmartDeviceLink website here.