All Projects → Aerobotics → react-native-dji-mobile

Aerobotics / react-native-dji-mobile

Licence: MIT license
React Native Wrapper Library For DJI Mobile SDK

Programming Languages

java
68154 projects - #9 most used programming language
swift
15916 projects
javascript
184084 projects - #8 most used programming language
objective c
16641 projects - #2 most used programming language
python
139335 projects - #7 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to react-native-dji-mobile

dji-tello
Java API for the DJI Tello Drone.
Stars: ✭ 13 (-61.76%)
Mutual labels:  dji
robo-playground
Games and examples built for RoboMaster EP with RoboMasterPy | 与你的大疆机甲大师愉快玩耍,基于RoboMasterPy构建
Stars: ✭ 33 (-2.94%)
Mutual labels:  dji
go-xmp
A native Go SDK for the Extensible Metadata Platform (XMP)
Stars: ✭ 36 (+5.88%)
Mutual labels:  dji
DJITelloOpticalControl
Autonomous navigation and data collection for Tello using mainly OpenCV's ArUco libraries.
Stars: ✭ 24 (-29.41%)
Mutual labels:  dji
Node-RED-Tello-Control
Node-RED flows to control the Ryze Tello Drone
Stars: ✭ 121 (+255.88%)
Mutual labels:  dji
QGISFMV
QGIS Full Motion Video (FMV)
Stars: ✭ 104 (+205.88%)
Mutual labels:  dji
DigiView-Android
Live video out from your DJI FPV Goggles via USB.
Stars: ✭ 225 (+561.76%)
Mutual labels:  dji

react-native-dji-mobile

A React Native wrapper for the DJI Mobile SDK.

Developed by Aerobotics

Please note that this project is still in its infancy. Many SDK features are not yet available, and the implementation of available features may still change. Use in your production application at your own risk!

Installation

Install the library to your project

npm i --save react-native-dji-mobile

iOS

Using Cocoapods (recommended)

  1. First link the library
react-native link react-native-dji-mobile
  1. The library requires the manual installation of the DJIWidget pod, used to display live video feed from the drone.

    1. Add use_modular_headers! to the top of your podfile.

    2. Add the following dependency to your podfile:

    + pod 'DJIWidget', '~> 1.5', :modular_headers => false
      pod 'react-native-dji-mobile', :path => '../node_modules/react-native-dji-mobile'
    1. Add :modular_headers => false to the pod dependencies for DoubleConversion, glog, and Folly in your podfile.

    After applying these changes your podfile should look similar to this:

    platform :ios, '9.0'
    
    target '[YourProjectName]' do
      use_modular_headers!
    
      ...
    
      # Pods for [YourProjectName]
      pod 'React', :path => '../node_modules/react-native', :subspecs => [
        'Core',
        'CxxBridge', # Include this for RN >= 0.47
        'DevSupport', # Include this to enable In-App Devmenu if RN >= 0.43
        'RCTText',
        'RCTNetwork',
        'RCTWebSocket', # needed for debugging
        # Add any other subspecs you want to use in your project
      ]
      # Explicitly include Yoga if you are using RN >= 0.42.0
      pod "yoga", :path => "../node_modules/react-native/ReactCommon/yoga"
    
      # Third party deps podspec link
      pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec', :modular_headers => false
      pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec', :modular_headers => false
      pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec', :modular_headers => false
    
      pod 'DJIWidget', '~> 1.5', :modular_headers => false
      pod 'react-native-dji-mobile', :path => '../node_modules/react-native-dji-mobile'
    
      ...
    
    end
  2. run pod install to ensure the required dependencies are installed

  3. To ensure that the library will build, you must add Swift support to your Xcode project:

    1. Open ios/YourAppName.xcworkspace
    2. Select File > New > File... in Xcode's menu bar or press CMD+N.
    3. Add a new Swift file to your project, and when asked by Xcode, press Create Bridging Header. Do not delete the empty swift file.

Manually

If you are unable to add use_modular_headers! to your Podfile as it breaks your build (for instance, react-native-gesture-handler no longer compiles correctly), you can manually link the react-native-dji-mobile library to your project. Please note that this still requires the use of cocoapods to install the require DJI dependencies.

  1. Add the DJI Mobile SDK dependencies to your podfile and run pod install
+ pod 'DJI-SDK-iOS', '~> 4.10'
+ pod 'DJIWidget', '~> 1.5'
  1. Navigate to [YourProjectName]/node_modules/react-native-dji-mobile/ios

  2. Drag the ReactNativeDjiMobile.xcodeproj file into your Xcode project into the Libraries folder.

  3. Go to the Link Binary With Libraries build phase for your Xcode project, and add the libReactNativeDjiMobile.a.


Android (TODO)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].