DJI Mobile SDK for iOS
What Is This?
The DJI Mobile SDK enables you to automate your DJI Product. You can control flight, and many subsystems of the product including the camera and gimbal. Using the Mobile SDK, create a customized mobile app to unlock the full potential of your DJI aerial platform.
Get Started Immediately
SDK Installation with CocoaPods
Since this project has been integrated with DJI iOS SDK CocoaPods now, please check the following steps to install DJISDK.framework using CocoaPods after you downloading this project:
1. Install CocoaPods
Open Terminal and change to the download project's directory, enter the following command to install it:
sudo gem install cocoapods
The process may take a long time, please wait. For further installation instructions, please check this guide.
2. Install SDK with CocoaPods in the Project
Run the following command in the ObjcSampleCode and SwiftSampleCode paths:
If you install it successfully, you should get the messages similar to the following:
Analyzing dependencies Downloading dependencies Installing DJI-SDK-iOS (4.6.1) Generating Pods project Integrating client project [!] Please close any current Xcode sessions and use `DJISdkDemo.xcworkspace` for this project from now on. Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
Note: If you saw "Unable to satisfy the following requirements" issue during pod install, please run the following commands to update your pod repo and install the pod again:
pod repo update pod install
Run Sample Code
Developers will need to setup the App Key by editing the sample code's info.plist, after generating their unique App Key.
For the Objective-C sample app, the key value DJISDKAppKey should to be added to DJISdkDemo-Info.plist with your unique app key as a string. (It is no longer necessary to edit the "DJIRootViewController.m" as in previous versions of the DJI SDK.)
For the Swift sample app, the DJISDKAppKey is present in the Info.plist - developers just need to add their unique key. In both cases developers will still need to update the Bundle Identifier .
One of DJI's aircraft or handheld cameras will be required to run the sample application.
From registering as a developer, to deploying an application, the following will take you through the full Mobile SDK Application development process:
- Register as DJI Developer & Download SDK
- Integrate SDK into Application
- Run Application
- Testing, Profiling & Debugging
Sample Projects & Tutorials
Several iOS tutorials are provided as examples on how to use different features of the Mobile SDK and debug tools includes:
- Application Activation and Aircraft Binding
- Getting Started with DJI UX SDK
- Camera Application
- Photo and Video Playback Application
- Media Manager Application
- MapView And Waypoint Application
- Panorama Appliation
- TapFly and ActiveTrack Appliation
- Simulator Application
- GEO System Application
- Using the Bridge App
- Using the Remote Logger
Learn More about DJI Products and the Mobile SDK
Please visit DJI Mobile SDK Documentation for more details.
DJI Mobile UX SDK
DJI Mobile UX SDK is a suite of product agnostic UI objects that fast tracks the development of iOS applications using the DJI Mobile SDK. For more details, please check here.
SDK Keys can be used as an alternative interface to access the product.
A detailed introduction for SDK Keys is here.
Missions are an important part of the SDK as they allow developers to automate DJI's products using a simple, high level interface. In 4.0.1, missions are being refactored to be more robust and easier to manage.
A detailed introduction for missions is here.
SDK API Reference
We have forked the original FFmpeg and added customized features to provide more video frame information including the frame's width and height, frame rate number, etc. These features will help to implement video hardware decoding.
The SDK Sample Code is dynamically linked with unmodified libraries of FFmpeg licensed under the LGPLv2.1. The source code of these FFmpeg libraries, the compilation instructions, and the LGPL v2.1 license are provided in Github.
You can get support from DJI with the following methods:
DJI is looking for all kinds of Software Engineers to continue building the Future of Possible. Available positions in Shenzhen, China and around the world. If you are interested, please send your resume to firstname.lastname@example.org. For more details, and list of all our global offices, please check https://we.dji.com/jobs_en.html.