DJI Mobile SDK Documentation

      class DJICamera

      @interface DJICamera : DJIBaseComponent
      Header:DJICamera.h
      Inherits From:DJIBaseComponent
      SDK Key:DJICameraKey.DJICameraComponent
      Description:

      This class contains the media manager and playback manager, which manage the camera's media content. It provides methods to change camera settings and perform camera actions. This object is available from the DJIAircraft or DJIHandheld object, which is a subclass of DJIBaseProduct.

      Class Members:

      State Updates

      General
      property
      property delegate
      @property(nonatomic, weak) id<DJICameraDelegate> delegate
      Header:DJICamera.h
      Description:

      Delegate that receives the information sent by the camera.

      See Also:

      DJICameraDelegate


      Information

      Display Name
      property
      property displayName
      @property(nonatomic, readonly) NSString *_Nonnull displayName
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamDisplayName
      Description:

      String that represents name of the camera.

      Camera Capabilities
      property
      property capabilities
      @property(nonatomic, readonly) DJICameraCapabilities *capabilities
      Header:DJICamera.h
      Description:

      Camera capabilities.

      See Also:

      DJICameraCapabilities


      Shoot Photo/Video

      Camera Mode
      method
      method setMode:withCompletion
      - (void)setMode:(DJICameraMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamMode
      Description:

      Sets the camera's work mode to taking pictures, video, playback or download. Please note that you cannot change the mode when a certain task is executing, such as taking photo(s), recording video, or downloading and saving files. Also supported by thermal imaging camera.

      Input Parameters:
      DJICameraMode modeCamera work mode.
      DJICompletionBlock completionRemote execution result error block.
      method getModeWithCompletion
      - (void)getModeWithCompletion:(void (^_Nonnull)(DJICameraMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamMode
      Description:

      Gets the camera's current work mode. Also supported by thermal imaging camera.

      Input Parameters:
      DJICameraMode modeThe value of the DJICameraMode Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      method startRecordVideoWithCompletion
      - (void)startRecordVideoWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamStartRecordVideo
      Description:

      Starts recording video.

      Precondition:
      Camera must be in DJICameraModeRecordVideo mode.
      For thermal imaging camera, user can take Single photo when recording video.

      Input Parameters:
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method stopRecordVideoWithCompletion
      - (void)stopRecordVideoWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamStopRecordVideo
      Description:

      Stops recording video.

      Precondition:
      The camera is recording currently.

      Input Parameters:
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method startShootPhotoWithCompletion
      - (void)startShootPhotoWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamStartShootPhoto
      Description:

      Camera starts to take photo with one of the camera capture modes (shoot photo modes).Also,

      Precondition:
      1. Camera must be in ShootPhoto mode. Check the enum named CameraShootPhotoMode in DJICameraSettingsDef to find all possible camera capture modes. For thermal imaging camera, Single photo can be taken while recording video.
      2. The SD card state should be checked before this method is used to ensure sufficient space exists.

      Post condition:
      If the capture mode is either Burst or Interval, calling stopShootPhoto will be required for the camera to stop taking photos.

      Input Parameters:
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method stopShootPhotoWithCompletion
      - (void)stopShootPhotoWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamStopShootPhoto
      Description:

      Camera stops taking photos.

      Precondition:
      1. startShootPhotoWithCompletion has been invoked and the shoot mode is either Interval or Time-lapse.
      2. If the capture mode is set to Single, the camera will automatically stop taking the photo once the individual photo is taken.

      Input Parameters:
      DJICompletionBlock completionThe execution callback with the returned execution result.
      Shoot Photo Mode
      method
      method setShootPhotoMode:withCompletion
      - (void)setShootPhotoMode:(DJICameraShootPhotoMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamShootPhotoMode
      Description:

      Sets the photo shooting mode for the camera.

      Input Parameters:
      DJICameraShootPhotoMode modeDJICameraShootPhotoMode enum value.
      DJICompletionBlock completionAsynchronous execution result.
      method getShootPhotoModeWithCompletion
      - (void)getShootPhotoModeWithCompletion:(void (^_Nonnull)(DJICameraShootPhotoMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamShootPhotoMode
      Description:

      Returns the current photo shooting mode of the camera.

      Input Parameters:
      DJICameraShootPhotoMode modeDJICameraShootPhotoMode enum value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraShootPhotoMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      method isTimeLapseSupported
      - (BOOL)isTimeLapseSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsTimeLapseSupported
      Description:

      Check if the current device supports time-lapse shoot mode. Supported only on the Osmo camera.

      Return:
      BOOLYES if timelapse is supported.


      Playback and Download

      method isMediaDownloadModeSupported
      - (BOOL)isMediaDownloadModeSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsMediaDownloadModeSupported
      Description:

      Check if the current device supports Media Download Mode.

      Return:
      BOOLYES if the current device supports Media Download Mode, NO otherwise.
      property
      property mediaManager
      @property(nonatomic, readonly) DJIMediaManager *_Nullable mediaManager
      Header:DJICamera.h
      Description:

      Media Manager is used for interaction when camera is in DJICameraModeMediaDownload. The user can only access the manager when isMediaDownloadModeSupported returns YES. @return The DJIMediaManager object if the aircraft supports media list feature. Otherwise, returns nil.

      See Also:

      DJIMediaManager

      Playback
      method
      method isPlaybackSupported
      - (BOOL)isPlaybackSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsPlaybackModeSupported
      Description:

      Check if the current device supports Playback Mode.

      Return:
      BOOLA boolean value.
      property playbackManager
      @property(nonatomic, readonly) DJIPlaybackManager *_Nullable playbackManager
      Header:DJICamera.h
      Description:

      Playback Manager is used for interaction when camera is in DJICameraModePlayback. User can only access to the manager when isPlaybackSupported returns YES.

      See Also:

      DJIPlaybackManager


      Exposure & White Balance

      method setExposureMode:withCompletion
      - (void)setExposureMode:(DJICameraExposureMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamExposureMode
      Description:

      Sets the camera's exposure mode. Check DJICameraExposureMode to view all possible camera exposure modes. Please note that in different exposure mode, it will have different values for the same setting. For Mavic 2 Enterprise Dual, the exposure mode is always DJICameraExposureModeProgram.

      Input Parameters:
      DJICameraExposureMode modeCamera exposure mode to set.
      DJICompletionBlock completionRemote execution result error block.
      method getExposureModeWithCompletion
      - (void)getExposureModeWithCompletion:(void (^_Nonnull)(DJICameraExposureMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamExposureMode
      Description:

      Gets the camera's exposure mode.

      Input Parameters:
      DJICameraExposureMode modeThe value of the DJICameraExposureMode of the Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraExposureMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      method setISO:withCompletion
      - (void)setISO:(DJICameraISO)iso withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamISO
      Description:

      Sets the camera's ISO value. See DJICameraISO to view all possible ISO settings for the camera. For the X5, X5R, Phantom 4 Pro camera, X4S and X5S, the ISO value can be set for all modes. For the other cameras, the ISO value can only be set when the camera exposure mode is in Manual mode. See the setExposureMode:withCompletion method for how to set exposure mode. For Mavic 2 Enterprise Dual, the ISO value is always DJICameraISOAuto.

      Input Parameters:
      DJICameraISO isoISO value to be set.
      DJICompletionBlock completionCompletion block.
      method getISOWithCompletion
      - (void)getISOWithCompletion:(void (^_Nonnull)(DJICameraISO iso, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamISO
      Description:

      Gets the camera's ISO value.

      Input Parameters:
      DJICameraISO isoThe value of the DJICameraISO Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraISO iso, NSError *_Nullable error) completionCompletion block to receive the result.
      method setShutterSpeed:withCompletion
      - (void)setShutterSpeed:(DJICameraShutterSpeed)shutterSpeed withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamShutterSpeed
      Description:

      Sets the camera shutter speed. To see all available shutterSpeed value settings, see DJICameraShutterSpeed. The shutter speed should not be set slower than the video frame rate when the camera's mode is DJICameraModeRecordVideo. For example, if the video frame rate is 30fps, the shutterSpeed must be <= 1/30. Precondition: The shutter speed can be set only when the camera exposure mode is Shutter mode or Manual mode.

      Input Parameters:
      DJICameraShutterSpeed shutterSpeedShutter speed value to be set for the camera. For all available values shutterSpeed can be set to, please check DJICameraShutterSpeed. <br> The shutter speed should not be set slower than the video frame rate when the camera's mode is DJICameraModeRecordVideo. For example, if the video frame rate = 30fps, then the shutterSpeed must be <= 1/30.
      DJICompletionBlock completionRemote execution result error block.
      method getShutterSpeedWithCompletion
      - (void)getShutterSpeedWithCompletion:(void (^_Nonnull)(DJICameraShutterSpeed shutterSpeed, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamShutterSpeed
      Description:

      Gets the camera's shutter speed.

      Input Parameters:
      DJICameraShutterSpeed shutterSpeedThe value of the DJICameraShutterSpeed Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraShutterSpeed shutterSpeed, NSError *_Nullable error) completionCompletion block to receive the result.
      method isAdjustableApertureSupported
      - (BOOL)isAdjustableApertureSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsAdjustableApertureSupported
      Description:

      Determines whether the camera supports an adjustable aperture. Currently adjustable aperture is supported only by the X5, X5R, X4S, X5S cameras and Mavic 2 Pro.

      Return:
      BOOLA boolean value.
      method setAperture:withCompletion
      - (void)setAperture:(DJICameraAperture)aperture withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAperture
      Description:

      Sets the aperture value. This feature is available only when isAdjustableApertureSupported returns YES.
      Precondition:
      The exposure mode DJICameraExposureMode must be in DJICameraExposureModeManual or DJICameraExposureModeAperturePriority.
      Supported only by the X5, X5R, X4S, X5S camera and Mavic 2 Pro.

      Input Parameters:
      DJICameraAperture apertureThe aperture to set. See DJICameraLensFocusMode.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method getApertureWithCompletion
      - (void)getApertureWithCompletion:(void (^_Nonnull)(DJICameraAperture aperture, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAperture
      Description:

      Gets the lens aperture. This feature is available only when isAdjustableApertureSupported returns YES.

      Input Parameters:
      DJICameraAperture apertureThe value of the DJICameraAperture Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraAperture aperture, NSError *_Nullable error) completionCompletion block to receive the result.
      Exposure Metering
      method
      method setMeteringMode:withCompletion
      - (void)setMeteringMode:(DJICameraMeteringMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamMeteringMode
      Description:

      Sets the camera's exposure metering. See DJICameraMeteringMode to view all possible exposure metering settings for the camera.

      Input Parameters:
      DJICameraMeteringMode modeExposure metering to be set. Check the enum DJICameraMeteringMode to find all possible exposure metering the camera can be set to.
      DJICompletionBlock completionCompletion block.
      method getMeteringModeWithCompletion
      - (void)getMeteringModeWithCompletion:(void (^_Nonnull)(DJICameraMeteringMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamMeteringMode
      Description:

      Gets the camera's exposure metering.

      Input Parameters:
      DJICameraMeteringMode modeThe value of the DJICameraMeteringMode Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraMeteringMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      method setSpotMeteringTargetRowIndex:columnIndex:withCompletion
      - (void)setSpotMeteringTargetRowIndex:(uint8_t)rowIndex columnIndex:(uint8_t)columnIndex withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSpotMeteringTarget
      Description:

      Sets the spot metering area index. The camera image is divided into 96 spots defined by 12 columns and 8 rows. The row index range is [0,7], where the values increase top to bottom across the image. The column index range is [0, 11], where the values increase left to right. In order to make the method work, The camera exposure mode should be Program, Shutter or Aperture, the exposure metering mode must be DJICameraMeteringModeSpot, and setAELock:withCompletion must be NO.

      Input Parameters:
      uint8_t rowIndexSpot metering row index to be set. The value should falls in [0, 7], where the values increase top to bottom across the image.
      uint8_t columnIndexSpot metering column index to be set. The value should falls in [0, 11], where the values increase left to right.
      DJICompletionBlock completionRemote execution result error block.
      method getSpotMeteringTargetWithCompletion
      - (void)getSpotMeteringTargetWithCompletion:(void (^_Nonnull)(uint8_t rowIndex, uint8_t columnIndex, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSpotMeteringTarget
      Description:

      Gets the spot metering area row index and column index. In order to make the method work, The camera exposure mode should be DJICameraExposureModeProgram, DJICameraExposureModeShutterPriority or DJICameraExposureModeAperturePriority, the exposure metering mode must be DJICameraMeteringModeSpot, and getAELockWithCompletion must be NO.

      Input Parameters:
      uint8_t rowIndexThe rowIndex value.
      uint8_t columnIndexThe colIndex value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(uint8_t rowIndex, uint8_t columnIndex, NSError *_Nullable error) completionCompletion block to receive the result.
      Exposure Compensation
      method
      method setExposureCompensation:withCompletion
      - (void)setExposureCompensation:(DJICameraExposureCompensation)compensation withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamExposureCompensation
      Description:

      Sets the camera's exposure compensation. See DJICameraExposureCompensation to view all possible exposure compensations to which the camera can be set. In order to use this function, set the camera exposure mode to shutter, program or aperture.

      Input Parameters:
      DJICameraExposureCompensation compensationExposure compensation value to be set for the camera.
      DJICompletionBlock completionCompletion block.
      method getExposureCompensationWithCompletion
      - (void)getExposureCompensationWithCompletion:(void (^_Nonnull)(DJICameraExposureCompensation compensation, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamExposureCompensation
      Description:

      Gets the camera's exposure compensation.

      Input Parameters:
      DJICameraExposureCompensation compensationThe value of the DJICameraExposureCompensation Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraExposureCompensation compensation, NSError *_Nullable error) completionCompletion block to receive the result.
      Auto Exposure (AE)
      method
      method setAELock:withCompletion
      - (void)setAELock:(BOOL)isLocked withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAELock
      Description:

      Locks or unlocks the camera's AE (auto exposure).
      Post condition:
      If the AE lock is enabled, the spot metering area cannot be set.

      Input Parameters:
      BOOL isLockedYES if the camera AE is locked, NO if it is unlocked.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method getAELockWithCompletion
      - (void)getAELockWithCompletion:(void (^_Nonnull)(BOOL isLocked, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAELock
      Description:

      Determines if the camera's AE (auto exposure) is locked.

      Input Parameters:
      BOOL isLockedThe isLocked value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL isLocked, NSError *_Nullable error) completionCompletion block to receive the result.
      method setAutoAEUnlockEnabled:withCompletion
      - (void)setAutoAEUnlockEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAutoAEUnlockEnabled
      Description:

      Enables/disables auto-unlocking of AE lock after shooting a photo. If it is enabled, the Auto Exposure will unlock after each shot. If disabled, Auto Exposure will change when calling setAELock:withCompletion. It is only supported X4S, X5S and Phantom 4 Pro cameras. For the other products, auto-unlocking is always enabled.

      Input Parameters:
      BOOL enabledYES if the camera AE will automatically unlock.
      DJICompletionBlock completionCompletion block that receives the setter result.
      method getAutoAEUnlockEnabledWithCompletion
      - (void)getAutoAEUnlockEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAutoAEUnlockEnabled
      Description:

      Determines whether auto-unlocking of AE lock is enabled. It is only supported by X4S, X5S and Phantom 4 Pro cameras.

      Input Parameters:
      BOOL enabledThe enabled value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      Auto Exposure Bracketing (AEB)
      method
      method setPhotoAEBCount:withCompletion
      - (void)setPhotoAEBCount:(DJICameraPhotoAEBCount)count withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoAEBCount
      Description:

      Sets the camera's auto exposure bracketing (AEB) capture parameters.

      Input Parameters:
      DJICameraPhotoAEBCount countAEB capture count to be set for the camera.
      DJICompletionBlock completionRemote execution result error block.
      method getPhotoAEBCountWithCompletion
      - (void)getPhotoAEBCountWithCompletion:(void (^_Nonnull)(DJICameraPhotoAEBCount count, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoAEBCount
      Description:

      Gets the camera's AEB capture parameters.

      Input Parameters:
      DJICameraPhotoAEBCount countThe value of the DJICameraPhotoAEBCount Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraPhotoAEBCount count, NSError *_Nullable error) completionCompletion block to receive the result.
      White Balance & Color Temperature
      method
      method setWhiteBalance:withCompletion
      - (void)setWhiteBalance:(DJICameraWhiteBalance *)whiteBalance withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamWhiteBalance
      Description:

      Sets the camera's white balance. When the white balance is a preset value (values except DJICameraWhiteBalancePresetCustom), the colorTemperature argument does not take effect. When the white balance is DJICameraWhiteBalancePresetCustom, the colorTemperature value is used instead.

      Input Parameters:
      DJICameraWhiteBalance * whiteBalanceWhite balance value to be set.
      DJICompletionBlock completionCompletion block.
      See Also:

      DJICameraWhiteBalancePreset to view all possible white balance setting options for the camera.

      method getWhiteBalanceWithCompletion
      - (void)getWhiteBalanceWithCompletion:(void (^_Nonnull)(DJICameraWhiteBalance *_Nullable whiteBalance, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamWhiteBalance
      Description:

      Gets the camera's white balance and color temperature.

      Input Parameters:
      DJICameraWhiteBalance *_Nullable whiteBalanceThe DJICameraWhiteBalance object.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraWhiteBalance *_Nullable whiteBalance, NSError *_Nullable error) completionCompletion block to receive the result.


      Lens, Zoom & Focus

      method isInterchangeableLensSupported
      - (BOOL)isInterchangeableLensSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsInterchangeableLensSupported
      Description:

      YES if the changeable lens is supported by the camera. Currently a changeable lens is supported only by the X5, X5R and X5S cameras.

      Return:
      BOOLA boolean value.
      method getLensInformationWithCompletion
      - (void)getLensInformationWithCompletion:(void (^_Nonnull)(NSString *_Nullable info, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamLensInformation
      Description:

      Gets details of the installed lens. Supported only by the X5, X5R, X5S and X7 cameras. This is available only when isInterchangeableLensSupported returns YES.

      Input Parameters:
      NSString *_Nullable infoThe info string value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSString *_Nullable info, NSError *_Nullable error) completionCompletion block to receive the result.
      method isDigitalZoomSupported
      - (BOOL)isDigitalZoomSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsDigitalZoomSupported
      Description:

      Check if the current device supports digital zoom scale. It is supported by Osmo with X3 camera, Phantom 4 camera, Z3 camera, Mavic Pro camera and Z30 camera.

      Return:
      BOOLA boolean value.
      method setDigitalZoomFactor:withCompletion
      - (void)setDigitalZoomFactor:(float)factor withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamDigitalZoomFactor
      Description:

      Adjusts the digital zoom. It is supported by Osmo with X3 camera, Phantom 4 camera, Z3 camera, Mavic Pro camera and XT 2 camera.

      Input Parameters:
      float factorThe valid range is from 1.0 to 2.0.
      DJICompletionBlock completionThe completion block with the returned execution result.
      method getDigitalZoomFactorWithCompletion
      - (void)getDigitalZoomFactorWithCompletion:(void (^_Nonnull)(float factor, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamDigitalZoomFactor
      Description:

      Gets current digital zoom. It is supported by Osmo with X3 camera, Phantom 4 camera, Z3 camera, Mavic Pro camera and Z30 camera. Note Z30 cannot set the digital zoom scale, but will use digital zoom when using startContinuousOpticalZoomInDirection:withSpeed:withCompletion and the optical zoom has reached its limit.

      Input Parameters:
      float factorThe scale value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(float factor, NSError *_Nullable error) completionCompletion block to receive the result.
      method isOpticalZoomSupported
      -(BOOL)isOpticalZoomSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsOpticalZoomSupported
      Description:

      Check if camera supports optical zoom. It is only supported by X5, X5R and X5S camera with the Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ lens, Z3 camera, Z30 camera.

      Return:
      BOOLYES if camera supports optical zoom.
      method getOpticalZoomSpecWithCompletion
      -(void)getOpticalZoomSpecWithCompletion:(void(^_Nonnull)(DJICameraOpticalZoomSpec spec, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamOpticalZoomSpec
      Description:

      Gets the specification of the zoom lens. It is only supported by X5, X5R and X5S camera with lens Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ, Z3 camera, Z30 camera, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      DJICameraOpticalZoomSpec specThe value of the DJICameraOpticalZoomSpec Struct.
      NSError *_Nullable errorError retrieving the value.
      void(^_Nonnull)(DJICameraOpticalZoomSpec spec, NSError *_Nullable error) completionCompletion block to receive the result.
      method setOpticalZoomFocalLength:withCompletion
      -(void)setOpticalZoomFocalLength:(NSUInteger)focalLength withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamOpticalZoomFocalLength
      Description:

      Sets focal length of the zoom lens. It is only supported by X5, X5R and X5S camera with lens Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ, X5S camera with Panasonic Lumix 14-42mm/3.5-5.6 HD or Olympus M.Zuiko 9-18mm/4.0-5.6, Z3 camera, Z30 camera, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      NSUInteger focalLengthFocal length of zoom lens. Valid range is [minFocalLength, maxFocalLength] and must be a multiple of focalLengthStep.
      DJICompletionBlock completionThe completion block with the returned execution result.
      method getOpticalZoomFocalLengthWithCompletion
      -(void)getOpticalZoomFocalLengthWithCompletion:(void (^_Nonnull)(NSUInteger focalLength, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamOpticalZoomFocalLength
      Description:

      Gets zoom lens focal length in units of 0.1mm. It is only supported by X5, X5R and X5S camera with lens Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ, Z3 camera, Z30 camera, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      NSUInteger focalLengthThe focalLength value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSUInteger focalLength, NSError *_Nullable error) completionCompletion block to receive the result.
      method getOpticalZoomFactorWithCompletion
      -(void)getOpticalZoomFactorWithCompletion:(void (^_Nonnull)(float factor, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamOpticalZoomFactor
      Description:

      Gets current optical zoom factor with range [1, 30]. It is only supported Z30 camera. The Z30 zoom factor can be changed with setOpticalZoomFocalLength:withCompletion and startContinuousOpticalZoomInDirection:withSpeed:withCompletion. The zoom factor is then calculated and given through this method. For Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera, the zoom factor can be calculated by invoking getOpticalZoomFocalLengthWithCompletion and getOpticalZoomSpecWithCompletion.

      Input Parameters:
      float factorThe zoom factor value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(float factor, NSError *_Nullable error) completionCompletion block to receive the result.
      method startContinuousOpticalZoomInDirection:withSpeed:withCompletion
      -(void)startContinuousOpticalZoomInDirection:(DJICameraZoomDirection)direction
      withSpeed:(DJICameraZoomSpeed)speed
      withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamStartContinuousOpticalZoom
      Description:

      Start changing the focal length of the lens in specified direction with specified speed. Focal length change (zooming) will halt when maximum or minimum focal lengths are reached, or stopContinuousOpticalZoomWithCompletion is called. It is only supported by X5, X5R and X5S camera on Osmo with lens Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ, Z3 camera, Z30 camera, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      DJICameraZoomDirection directionDirection to zoom.
      DJICameraZoomSpeed speedZoom speed.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method stopContinuousOpticalZoomWithCompletion
      -(void)stopContinuousOpticalZoomWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamStopContinuousOpticalZoom
      Description:

      Called to stop focal length changing, when it currently is from calling startContinuousOpticalZoomInDirection:withSpeed:withCompletion. It is only supported by X5, X5R and X5S camera on Osmo with lens Olympus M.Zuiko ED 14-42mm f/3.5-5.6 EZ, Z3 camera, Z30 camera, Mavic 2 Zoom Camera and Mavic 2 Enterprise camera.

      Input Parameters:
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method isTapZoomSupported
      -(BOOL)isTapZoomSupported
      Header:DJICamera.h
      Description:

      Determines whether the current camera supports TapZoom feature. TapZoom is only supported by Z30 camera. @return YES if the camera supports TapZoom.

      Return:
      BOOLA boolean value.
      method setTapZoomEnabled:withCompletion
      -(void)setTapZoomEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamTapZoomEnabled
      Description:

      Enable/disable TapZoom. tapZoomAtTarget:withCompletion can only be called when TapZoom is enabled. It is only supported Z30 camera.

      Input Parameters:
      BOOL enabledYES to enable TapZoom feature.
      DJICompletionBlock completionCompletion block that receives the setter result.
      method getTapZoomEnabledWithCompletion
      -(void)getTapZoomEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamTapZoomEnabled
      Description:

      Determines whether TapZoom is enabled. It is only supported by Z30 camera.

      Input Parameters:
      BOOL enabledThe enabled value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      method setTapZoomMultiplier:withCompletion
      -(void)setTapZoomMultiplier:(uint8_t)multiplier withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamTapZoomMultiplier
      Description:

      TapZoom uses a multiplier to change the zoom scale when called. The final zoom scale for a TapZoom will be: Current Zoom Scale x Multiplier. The multiplier range is [1,5]. A multiplier of 1 will not change the zoom. When the multiplier is 1, the zoom scale will not change during TapZoom. It is only supported by Z30 camera.

      Input Parameters:
      uint8_t multiplierMultiplier of TapZoom.
      DJICompletionBlock completionCompletion block that receives the setter result.
      method getTapZoomMultiplierWithCompletion
      -(void)getTapZoomMultiplierWithCompletion:(void (^_Nonnull)(uint8_t step, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamTapZoomMultiplier
      Description:

      Gets the multiplier for TapZoom. It is only supported by Z30 camera.

      Input Parameters:
      uint8_t stepThe step value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(uint8_t step, NSError *_Nullable error) completionCompletion block to receive the result.
      method tapZoomAtTarget:withCompletion
      -(void)tapZoomAtTarget:(CGPoint)target withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamTapZoomTarget
      Description:

      TapZoom at the target. It can be called only when TapZoom is enabled. When a new target is set, the gimbal will rotate and locate the target in the center of the screen. At the same time, the camera will zoom by multiplying the TapZoom multiplier. It is only supported Z30 camera.

      Input Parameters:
      CGPoint targetThe target to zoom. The range for x and y is from 0.0 to 1.0. The point [0.0, 0.0] represents the top-left corner of the screen.
      DJICompletionBlock completionCompletion block that receives the execution result.
      HybridZoom
      method
      method isHybridZoomSupported
      -(BOOL)isHybridZoomSupported
      Header:DJICamera.h
      Description:

      Hybrid zoom is combining optical and digital zoom. Camera will automatically switch over to digital zoom when optical zoom range is exceeded. Check if camera supports hybrid zoom. It is only supported by Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Return:
      BOOLYES if camera supports hybrid zoom.
      Hybrid Zoom Spec
      method
      method getHybridZoomSpecWithCompletion
      -(void)getHybridZoomSpecWithCompletion:(void(^_Nonnull)(DJICameraHybridZoomSpec spec, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Hybrid zoom is combining optical and digital zoom. Camera will automatically switch over to digital zoom when optical zoom range is exceeded. Gets the specification of the zoom lens. It is only supported by Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      DJICameraHybridZoomSpec specThe value of the DJICameraHybridZoomSpec Struct.
      NSError *_Nullable errorError retrieving the value.
      void(^_Nonnull)(DJICameraHybridZoomSpec spec, NSError *_Nullable error) completionCompletion block to receive the result.
      Hybrid Zoom Focal Length
      method
      method setHybridZoomFocalLength:withCompletion
      -(void)setHybridZoomFocalLength:(NSUInteger)focalLength withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Hybrid zoom is combining optical and digital zoom. Camera will automatically switch over to digital zoom when optical zoom range is exceeded. Sets focal length of the zoom lens. It is only supported by Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      NSUInteger focalLengthFocal length of zoom lens. Valid range is [minHybridFocalLength, maxHybridFocalLength] and must be a multiple of focalLengthStep.
      DJICompletionBlock completionThe completion block with the returned execution result.
      method getHybridZoomFocalLengthWithCompletion
      -(void)getHybridZoomFocalLengthWithCompletion:(void(^_Nonnull)(NSUInteger focalLength, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Hybrid zoom is combining optical and digital zoom. Camera will automatically switch over to digital zoom when optical zoom range is exceeded. Gets zoom lens focal length in units of 0.1mm. It is only supported by Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      NSUInteger focalLengthFocal length of zoom lens.
      NSError *_Nullable errorError retrieving the value.
      void(^_Nonnull)(NSUInteger focalLength, NSError *_Nullable error) completionCompletion block to receive the result.
      method isAdjustableFocalPointSupported
      - (BOOL)isAdjustableFocalPointSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsAdjustableFocalPointSupported
      Description:

      Determines whether the camera supports an adjustable focal point. Currently, the adjustable focal point is supported by the X5, X5R, Z3, Mavic Pro camera, Z30, Phantom 4 Pro camera, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and and Mavic 2 Enterprise Camera.

      Return:
      BOOLA boolean value.
      method setFocusMode:withCompletion
      - (void)setFocusMode:(DJICameraFocusMode)focusMode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFocusMode
      Description:

      Sets the lens focus mode. See DJICameraFocusMode. It is available only when isAdjustableFocalPointSupported returns YES. Supported by the X5, X5R, Z3 cameras (Z3 camera can only support DJICameraFocusModeAuto), the Mavic Pro camera, Z30, Phantom 4 Pro camera, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      DJICameraFocusMode focusModeFocus mode to set. Check DJICameraFocusMode for more detail.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method getFocusModeWithCompletion
      - (void)getFocusModeWithCompletion:(void (^_Nonnull)(DJICameraFocusMode focusMode, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFocusMode
      Description:

      Gets the lens focus mode. Please check DJICameraFocusMode. It is available only when isAdjustableFocalPointSupported returns YES. Supported only by the X5, X5R, Z3 cameras, Mavic Pro camera, Z30, Phantom 4 Pro camera, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      DJICameraFocusMode focusModeThe value of the DJICameraFocusMode Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraFocusMode focusMode, NSError *_Nullable error) completionCompletion block to receive the result.
      method setFocusTarget:withCompletion
      - (void)setFocusTarget:(CGPoint)focusTarget withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFocusTarget
      Description:

      Sets the lens focus target point. When the focus mode is auto, the target point is the focal point. When the focus mode is manual, the target point is the zoom out area if the focus assistant is enabled for the manual mode. It is available only when isAdjustableFocalPointSupported returns YES. Supported only by the X5, X5R, Z3 cameras, Mavic Pro camera, Phantom 4 Pro camera, Mavic 2 Pro, Mavic 2 Zoom Camera, Mavic 2 Enterprise Camera, X4S and X5S. camera, X4S and X5S.

      Input Parameters:
      CGPoint focusTargetThe focus target to set. The range for x and y is from 0.0 to 1.0. The point [0.0, 0.0] represents the top-left angle of the screen.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method getFocusTargetWithCompletion
      - (void)getFocusTargetWithCompletion:(void (^_Nonnull)(CGPoint focusTarget, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFocusTarget
      Description:

      Gets the lens focus target point. It is available only when isAdjustableFocalPointSupported returns YES. Supported only by the X5, X5R, Z3 cameras, Mavic Pro camera and Phantom 4 Pro camera, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      CGPoint focusTargetThe CGPoint struct.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(CGPoint focusTarget, NSError *_Nullable error) completionCompletion block to receive the result.
      method setFocusAssistantSettings:withCompletion
      - (void)setFocusAssistantSettings:(DJICameraFocusAssistantSettings)settings
      withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFocusAssistantSettings
      Description:

      Used to enable/disable the lens focus assistant. When the focus assistant is enabled, the camera live view will digitally zoom into the focus target area so the user can see the quality of focus. Focus assistant can be used for both manual focus (MF) and auto focus (AF). It is available only when isAdjustableFocalPointSupported returns YES. Supported only by the X5, X5R, Z3, Phantom 4 Pro camera, X4S and X5S. Because Z3 only supports AF mode, isEnabledMF will be ignored.

      Input Parameters:
      DJICameraFocusAssistantSettings settingsSets whether the lens focus assistant for AF and MF mode is enabled.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method getFocusAssistantSettingsWithCompletion
      - (void)getFocusAssistantSettingsWithCompletion:(void (^_Nonnull)(DJICameraFocusAssistantSettings settings,
      NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFocusAssistantSettings
      Description:

      Determines whether the lens focus assistant is enabled. When the focus assistant is enabled, the camera live view will digitally zoom into the focus target area so the user can see the quality of focus. Focus assistant can be used for both manual focus (MF) and auto focus (AF). It is available only when isAdjustableFocalPointSupported returns YES. Supported only by the X5, X5R, Z3 cameras, Phantom 4 Pro, X4s and X5S.

      Input Parameters:
      DJICameraFocusAssistantSettings settingsSets whether the lens focus assistant under AF and MF mode is enabled.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraFocusAssistantSettings settings, NSError *_Nullable error) completionCompletion block to receive the result.
      method getFocusRingValueUpperBoundWithCompletion
      - (void)getFocusRingValueUpperBoundWithCompletion:(void (^_Nonnull)(NSUInteger upperBound, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFocusRingValueUpperBound
      Description:

      Gets the lens focusing ring value's max value. It is available only when isAdjustableFocalPointSupported returns YES. Supported only by the X5, X5R, Z3 cameras, Phantom 4 Pro camera, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      NSUInteger upperBoundThe upperBound value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSUInteger upperBound, NSError *_Nullable error) completionCompletion block to receive the result.
      method setFocusRingValue:withCompletion
      - (void)setFocusRingValue:(NSUInteger)value withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFocusRingValue
      Description:

      Set the focal distance by simulating the focus ring adjustment. Value can have a range of 0, getFocusRingValueUpperBoundWithCompletion], which represents infinity and the closest possible focal distance. It is available only when isAdjustableFocalPointSupported returns YES. For some lenses, the minimum focus ring value is larger than 0. For example the minimum of DJI MFT 15mm f/1.7 ASPH is 270. To retrieve the minimum value, perform the following steps: - Call setFocusMode:withCompletion with DJICameraFocusModeAuto. - Call setFocusTarget:withCompletion with the furthest target (>30m). - Call getFocusRingValueWithCompletion to get the current focus ring value. This is the minimum value. The maximum value can be retrieved using getFocusRingValueUpperBoundWithCompletion. Supported only by X5, X5R, Z3 cameras, Phantom 4 Pro, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Input Parameters:
      NSUInteger valueValue to adjust focus ring to. The minimum value is 0, the maximum value depends on the installed lens. Please use method getFocusRingValueUpperBoundWithCompletion to ensure the input argument is valid.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method getFocusRingValueWithCompletion
      - (void)getFocusRingValueWithCompletion:(void (^_Nonnull)(NSUInteger distance, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFocusRingValue
      Description:

      Gets the lens focus ring value. It is available only when isAdjustableFocalPointSupported returns YES. Supported only by the X5, X5R, Z3 cameras, Phantom 4 Pro, X4S, X5S, Mavic 2 Pro, Mavic 2 Zoom Camera, Mavic 2 Enterprise Camera.

      Input Parameters:
      NSUInteger distanceThe distance value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSUInteger distance, NSError *_Nullable error) completionCompletion block to receive the result.


      Settings

      Factory Settings
      method
      method restoreFactorySettings
      - (void)restoreFactorySettings:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamRestoreFactorySettings
      Description:

      Load the camera's factory settings.
      Post condition: The camera will reboot itself.

      Input Parameters:
      DJICompletionBlock completionThe execution callback with the returned value(s).
      method saveSettingsToProfile:withCompletion
      - (void)saveSettingsToProfile:(DJICameraCustomSettingsProfile)profile withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSaveSettings
      Description:

      Saves the current camera settings permanently to the specified profile. See DJICameraCustomSettingsProfile to view all possible camera users.

      Input Parameters:
      DJICameraCustomSettingsProfile profileCamera profile for which to store camera settings.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method loadSettingsFromProfile:withCompletion
      - (void)loadSettingsFromProfile:(DJICameraCustomSettingsProfile)profile withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamLoadSettings
      Description:

      Load camera settings from the specified user.
      Post condition:
      The camera will reboot itself.

      Input Parameters:
      DJICameraCustomSettingsProfile profileCamera profile to load camera settings from.
      DJICompletionBlock completionThe execution callback with the returned execution result.


      Photo Settings

      method setPhotoAspectRatio:withCompletion
      - (void)setPhotoAspectRatio:(DJICameraPhotoAspectRatio)aspectRatio withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoAspectRatio
      Description:

      Sets the camera's aspect ratio for photos. See DJICameraPhotoAspectRatio to view all possible ratios. Not supported by Z30 camera as the aspect ratio of Z30 is always DJICameraPhotoAspectRatio16_9.

      Input Parameters:
      DJICameraPhotoAspectRatio aspectRatioAspect ratio for photos to be taken by camera.
      DJICompletionBlock completionRemote execution result error block.
      method getPhotoAspectRatioWithCompletion
      - (void)getPhotoAspectRatioWithCompletion:(void (^_Nonnull)(DJICameraPhotoAspectRatio aspectRatio, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoAspectRatio
      Description:

      Gets the camera's aspect ratio for photos.

      Input Parameters:
      DJICameraPhotoAspectRatio aspectRatioThe value of the DJICameraPhotoAspectRatio Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraPhotoAspectRatio aspectRatio, NSError *_Nullable error) completionRemote execution result callback block.
      method setPhotoFileFormat:withCompletion
      - (void)setPhotoFileFormat:(DJICameraPhotoFileFormat)format withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoFileFormat
      Description:

      Sets the camera's photo file format. See DJICameraPhotoFileFormat to view all possible photo formats to which the camera can be set. Also supported by thermal imaging camera. Not supported by Z30 camera and Mavic 2 Enterprise Dual as the photo file format for Z30 is always DJICameraPhotoFileFormatJPEG.

      Input Parameters:
      DJICameraPhotoFileFormat formatPhoto file format used when the camera takes a photo.
      DJICompletionBlock completionCompletion block.
      method getPhotoFileFormatWithCompletion
      - (void)getPhotoFileFormatWithCompletion:(void (^_Nonnull)(DJICameraPhotoFileFormat format, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoFileFormat
      Description:

      Gets the camera's photo file format.

      Input Parameters:
      DJICameraPhotoFileFormat formatThe value of the DJICameraPhotoFileFormat Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraPhotoFileFormat format, NSError *_Nullable error) completionCompletion block to receive the result.
      method setPhotoBurstCount:withCompletion
      - (void)setPhotoBurstCount:(DJICameraPhotoBurstCount)count withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoBurstCount
      Description:

      Sets the burst shoot count for the camera when the user wants to use that feature. Check DJICameraPhotoBurstCount to view all possible burst count values to which the camera can be set.

      Input Parameters:
      DJICameraPhotoBurstCount countThe number of photos to take in one burst shoot.
      DJICompletionBlock completionCompletion block.
      method getPhotoBurstCountWithCompletion
      - (void)getPhotoBurstCountWithCompletion:(void (^_Nonnull)(DJICameraPhotoBurstCount count, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoBurstCount
      Description:

      Gets the burst count type.

      Input Parameters:
      DJICameraPhotoBurstCount countThe value of the DJICameraPhotoBurstCount Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraPhotoBurstCount count, NSError *_Nullable error) completionCompletion block to receive the result.
      method setPhotoRAWBurstCount:withCompletion
      - (void)setPhotoRAWBurstCount:(DJICameraPhotoBurstCount)count withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoRAWBurstCount
      Description:

      Sets the RAW image burst shoot count for the camera when the user wants to use that feature. See DJICameraPhotoBurstCount to view all possible burst count values to which the camera can be set. It is only supported Inspire 2.

      Input Parameters:
      DJICameraPhotoBurstCount countThe number of photos to take in one RAW burst shoot.
      DJICompletionBlock completionCompletion block.
      method getPhotoRAWBurstCountWithCompletion
      - (void)getPhotoRAWBurstCountWithCompletion:(void (^_Nonnull)(DJICameraPhotoBurstCount count, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoRAWBurstCount
      Description:

      Gets the RAW image burst count. It is only supported Inspire 2.

      Input Parameters:
      DJICameraPhotoBurstCount countThe value of the DJICameraPhotoBurstCount Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraPhotoBurstCount count, NSError *_Nullable error) completionCompletion block to receive the result.
      method setPhotoTimeIntervalSettings:withCompletion
      - (void)setPhotoTimeIntervalSettings:(DJICameraPhotoTimeIntervalSettings)settings withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoTimeIntervalSettings
      Description:

      Sets the interval shoot parameters. The camera will capture a photo, wait a specified interval of time, take another photo, and continue in this manner until it has taken the required number of photos. Also supported by thermal imaging camera.

      Input Parameters:
      DJICameraPhotoTimeIntervalSettings settingsAn instance of DJICameraPhotoTimeIntervalSettings.
      DJICompletionBlock completionRemote execution result error block.
      method getPhotoTimeIntervalSettingsWithCompletion
      - (void)getPhotoTimeIntervalSettingsWithCompletion:(void (^_Nonnull)(DJICameraPhotoTimeIntervalSettings settings, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoTimeIntervalSettings
      Description:

      Gets the camera's interval shoot parameters.

      Also supported by thermal imaging camera.

      Input Parameters:
      DJICameraPhotoTimeIntervalSettings settingsThe value of the DJICameraPhotoTimeIntervalSettings Struct.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraPhotoTimeIntervalSettings settings, NSError *_Nullable error) completionCompletion block to receive the result.
      method setPhotoTimeLapseSettings:withCompletion
      - (void)setPhotoTimeLapseSettings:(DJICameraPhotoTimeLapseSettings)settings withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoTimeLapseSettings
      Description:

      Sets the TimeLapse parameters, including interval, duration and file format when saving. Precondition: Camera should be in DJICameraShootPhotoModeTimeLapse mode of DJICameraShootPhotoMode.

      Input Parameters:
      DJICameraPhotoTimeLapseSettings settingsThe interval, duration and file format to set for time-lapse mode.
      DJICompletionBlock completionThe execution block with the returned execution result.
      method getPhotoTimeLapseSettingsWithCompletion
      - (void)getPhotoTimeLapseSettingsWithCompletion:(void (^_Nonnull)(DJICameraPhotoTimeLapseSettings settings, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoTimeLapseSettings
      Description:

      Gets the TimeLapse parameters including interval, duration and file format when saving. Precondition: The camera must be in DJICameraShootPhotoModeTimeLapse mode of DJICameraShootPhotoMode.

      Input Parameters:
      DJICameraPhotoTimeLapseSettings settingsThe value of the DJICameraPhotoTimeLapseSettings Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraPhotoTimeLapseSettings settings, NSError *_Nullable error) completionCompletion block to receive the result.
      method setPhotoPanoramaMode:withCompletion
      - (void)setPhotoPanoramaMode:(DJICameraPhotoPanoramaMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the panorama mode. It is used when setShootPhotoMode:withCompletion is called with DJICameraShootPhotoModePanorama. It is only supported by Spark.

      Input Parameters:
      DJICameraPhotoPanoramaMode modeThe panorama mode to set.
      DJICompletionBlock completioncompletion block to receive the result.
      method getPhotoPanoramaModeWithCompletion
      - (void)getPhotoPanoramaModeWithCompletion:(void (^_Nonnull)(DJICameraPhotoPanoramaMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the panorama mode. It is only supported by Spark.

      Input Parameters:
      DJICameraPhotoPanoramaMode modeThe current panorama mode.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraPhotoPanoramaMode mode, NSError *_Nullable error) completioncompletion block to receive the result.
      Panorama Photo Settings
      method
      method setPanoOriginalPhotoSettings:withCompletion
      - (void)setPanoOriginalPhotoSettings:(DJICameraOriginalPhotoSettings *)settings withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPanoOriginalPhotoSettings
      Description:

      Change the original image configuration when shooting panorama photos. CAUTION: enabling this may consume 500 MB in the SD card or the internal storage for each panorama. It is supported by Mavic Air and Mavic 2. For Mavic Air, format is not used and it will ignore the value.

      Input Parameters:
      DJICameraOriginalPhotoSettings * settingsAn object of DJICameraOriginalPhotoSettings.
      DJICompletionBlock completionCompletion block that receives the setter result.
      method getPanoOriginalPhotoSettingsWithCompletion
      - (void)getPanoOriginalPhotoSettingsWithCompletion:(void (^_Nonnull)(DJICameraOriginalPhotoSettings *setting, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the configuration, which determines the behavior for the original images when shooting panorama photos. CAUTION: If this is enabled, it may consume 500 MB in the SD card or the internal storage for each panorama. It is supported by Mavic Air and Mavic 2. However, Mavic Air cannot change the format to save the original images. format will be ignored by Mavic Air.

      Input Parameters:
      DJICameraOriginalPhotoSettings * settingAn object of DJICameraOriginalPhotoSettings.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraOriginalPhotoSettings *setting, NSError *_Nullable error) completionCompletion block to receive the result.
      method setHighQualityPreviewEnabled:withCompletion
      - (void)setHighQualityPreviewEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Enables this before photo capture to download high quality preview image. Only supported by Phantom 4 RTK.

      Input Parameters:
      BOOL enabledYES to enable the feature.
      DJICompletionBlock completionCompletion block to receive the result.
      method getHighQualityPreviewEnabledWithCompletion
      - (void)getHighQualityPreviewEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets if high quality preview image downloading is enabled. Only supported by Phantom 4 RTK.

      Input Parameters:
      BOOL enabledThe enabled of high quality preview.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.


      Video Settings

      method setVideoResolutionAndFrameRate:withCompletion
      - (void)setVideoResolutionAndFrameRate:(DJICameraVideoResolutionAndFrameRate *)resolutionAndFrameRate
      withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoResolutionAndFrameRate
      Description:

      Sets the camera's video resolution and frame rate. @warning The supported resolutions and frame rates for the two different analog television standards PAL and NTSC are below:

      NTSC:
      Resolution_4096x2160, FrameRate_24fps
      Resolution_3840x2160, FrameRate_30fps
      Resolution_3840x2160, FrameRate_24fps
      Resolution_2704X1520, FrameRate_30fps
      Resolution_2704X1520, FrameRate_24fps
      Resolution_1920x1080, FrameRate_120fps (Slow Motion)
      Resolution_1920x1080, FrameRate_60fps
      Resolution_1920x1080, FrameRate_48fps
      Resolution_1920x1080, FrameRate_30fps
      Resolution_1920x1080, FrameRate_24fps
      Resolution_1280x720, FrameRate_60fps
      Resolution_1280x720, FrameRate_48fps
      Resolution_1280x720, FrameRate_30fps
      Resolution_1280x720, FrameRate_24fps

      PAL:
      Resolution_4096x2160, FrameRate_25fps
      Resolution_4096x2160, FrameRate_24fps
      Resolution_3840x2160, FrameRate_25fps
      Resolution_3840x2160, FrameRate_24fps
      Resolution_2704X1520, FrameRate_25fps
      Resolution_2704X1520, FrameRate_24fps
      Resolution_1920x1080, FrameRate_120fps (Slow Motion)
      Resolution_1920x1080, FrameRate_50fps
      Resolution_1920x1080, FrameRate_48fps
      Resolution_1920x1080, FrameRate_25fps
      Resolution_1920x1080, FrameRate_24fps
      Resolution_1280x720, FrameRate_50fps
      Resolution_1280x720, FrameRate_48fps
      Resolution_1280x720, FrameRate_25fps
      Resolution_1280x720, FrameRate_24fps

      Input Parameters:
      DJICameraVideoResolutionAndFrameRate * resolutionAndFrameRateResolution to be set for the video.
      DJICompletionBlock completionRemote execution result error block.
      method getVideoResolutionAndFrameRateWithCompletion
      - (void)getVideoResolutionAndFrameRateWithCompletion:(void (^_Nonnull)(DJICameraVideoResolutionAndFrameRate *_Nullable resolutionAndFrameRate,
      NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoResolutionAndFrameRate
      Description:

      Gets the camera's video resolution and frame rate values.

      Input Parameters:
      DJICameraVideoResolutionAndFrameRate *_Nullable resolutionAndFrameRateThe value of the DJICameraVideoResolutionAndFrameRate Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraVideoResolutionAndFrameRate *_Nullable resolutionAndFrameRate, NSError *_Nullable error) completionCompletion block to receive the result.
      method setVideoFileFormat:withCompletion
      - (void)setVideoFileFormat:(DJICameraVideoFileFormat)format withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoFileFormat
      Description:

      Sets the camera's video file format. The default value is DJICameraVideoFileFormatMOV.

      Input Parameters:
      DJICameraVideoFileFormat formatVideo file format to be set for videos.
      DJICompletionBlock completionRemote execution result error block.
      method getVideoFileFormatWithCompletion
      - (void)getVideoFileFormatWithCompletion:(void (^_Nonnull)(DJICameraVideoFileFormat format, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoFileFormat
      Description:

      Gets the camera's video file format.

      Input Parameters:
      DJICameraVideoFileFormat formatThe value of the DJICameraVideoFileFormat Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraVideoFileFormat format, NSError *_Nullable error) completionCompletion block to return the current video file format.
      Analog Standard
      method
      method setVideoStandard:withCompletion
      - (void)setVideoStandard:(DJICameraVideoStandard)videoStandard withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoStandard
      Description:

      Sets the camera's analog video standard. Setting the video standard to PAL or NTSC will limit the available resolutions and frame rates to those compatible with the chosen video standard.

      Input Parameters:
      DJICameraVideoStandard videoStandardVideo standard value to be set for the camera.
      DJICompletionBlock completionRemote execution result error block.
      method getVideoStandardWithCompletion
      - (void)getVideoStandardWithCompletion:(void (^_Nonnull)(DJICameraVideoStandard videoStandard, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoStandard
      Description:

      Gets the camera's video standard value.

      Input Parameters:
      DJICameraVideoStandard videoStandardThe value of the DJICameraVideoStandard Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraVideoStandard videoStandard, NSError *_Nullable error) completionRemote execution result error block.
      method setVideoCaptionEnabled:withCompletion
      - (void)setVideoCaptionEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoCaptionEnabled
      Description:

      Enables recording position, time and camera information into a video caption file (.srt) saved on the SD card. The information is updated at 1Hz. Currently the .srt file can only be downloaded directly from the SD card.

      Input Parameters:
      BOOL enabledYES to enable video caption.
      DJICompletionBlock completionThe execution callback with the returned value.
      method getVideoCaptionEnabledWithCompletion
      - (void)getVideoCaptionEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoCaptionEnabled
      Description:

      Gets whether the video caption is enabled.

      Input Parameters:
      BOOL enabledThe enabled value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      method setHistogramEnabled:withCompletion
      - (void)setHistogramEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoHistogramEnabled
      Description:

      Enables the histogram.

      Input Parameters:
      BOOL enabledTrue to enable histogram.
      DJICompletionBlock completionThe execution block with the returned execution result.
      method getHistogramEnabledWithCompletion
      - (void)getHistogramEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoHistogramEnabled
      Description:

      Gets whether the histogram is enabled.

      Input Parameters:
      BOOL enabledThe enabled of histogram.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      method setVideoFileCompressionStandard:withCompletion
      - (void)setVideoFileCompressionStandard:(DJIVideoFileCompressionStandard)standard withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoFileCompressionStandard
      Description:

      Sets the video file compression standard. It is only supported X4S camera, X5S camera and Phantom 4 Pro. For all other products, H.264 is used.

      Input Parameters:
      DJIVideoFileCompressionStandard standardThe compression standard to use.
      DJICompletionBlock completionCompletion block that receives the setter result.
      method getVideoFileCompressionStandardWithCompletion
      - (void)getVideoFileCompressionStandardWithCompletion:(void (^_Nonnull)(DJIVideoFileCompressionStandard standard, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVideoFileCompressionStandard
      Description:

      Gets the video file compression standard. It is only supported X4S camera, X5S camera and Phantom 4 Pro.

      Input Parameters:
      DJIVideoFileCompressionStandard standardThe value of the DJIVideoFileCompressionStandard Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJIVideoFileCompressionStandard standard, NSError *_Nullable error) completionCompletion block to receive the result.
      method setSSDVideoRecordingEnabled:withCompletion
      - (void)setSSDVideoRecordingEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSSDVideoRecordingEnabled
      Description:

      Enables/disables the recording of RAW video. It is supported by X5S. User can use the other SSD interfaces only when it is enabled. For X5R, RAW recording is always enabled if there is SSD inserted.

      Input Parameters:
      BOOL enabledYES to enable the RAW video recording.
      DJICompletionBlock completionCompletion block that receives the setter result.
      method getSSDVideoRecordingEnabledWithCompletion
      - (void)getSSDVideoRecordingEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSSDVideoRecordingEnabled
      Description:

      Determines whether the recording of RAW video is enabled. It is supported by X5S.

      Input Parameters:
      BOOL enabledThe enabled value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      SSD RAW Resolution and Frame Rate
      method
      method setSSDVideoResolutionAndFrameRate:withCompletion
      - (void)setSSDVideoResolutionAndFrameRate:(DJICameraVideoResolutionAndFrameRate *)resolutionAndFrameRate
      withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSSDVideoResolutionAndFrameRate
      Description:

      Set Raw Video Resolution and Frame Rate of the SSD. Note, only raw video is saved to the SSD. Compressed video, compressed pictures and raw pictures are all saved to the SD Card. During video capture, Raw video and compressed video are saved simultaneously to the SSD and SD Card respectively. @warning The supported resolutions and frame rates for SSD Raw Videos are shown below:

      NTSC:
      Resolution_4096x2160, FrameRate_24fps
      Resolution_3840x2160, FrameRate_24fps
      Resolution_3840x2160, FrameRate_30fps
      Resolution_2704X1520, FrameRate_24fps
      Resolution_2704X1520, FrameRate_30fps
      Resolution_1920x1080, FrameRate_60fps
      Resolution_1920x1080, FrameRate_48fps
      Resolution_1920x1080, FrameRate_30fps
      Resolution_1920x1080, FrameRate_24fps



      PAL:
      Resolution_4096x2160, FrameRate_25fps
      Resolution_4096x2160, FrameRate_24fps
      Resolution_3840x2160, FrameRate_25fps
      Resolution_3840x2160, FrameRate_24fps
      Resolution_2704X1520, FrameRate_25fps
      Resolution_2704X1520, FrameRate_24fps
      Resolution_1920x1080, FrameRate_50fps
      Resolution_1920x1080, FrameRate_48fps
      Resolution_1920x1080, FrameRate_25fps
      Resolution_1920x1080, FrameRate_24fps

      For X5S, the frame rate of SSD has to be the same as the video to be stored in SD card, so frameRate is ignored. The possible resolutions are determined by SD card video's frame rate and the SSD video license (DJICameraSSDVideoLicense) being used. The supported resolutions in the current configuration can be queried by using SSDVideoResolutionRange in DJICameraCapabilities.

      Input Parameters:
      DJICameraVideoResolutionAndFrameRate * resolutionAndFrameRateResolution and frame rate to be set for the video.
      DJICompletionBlock completionRemote execution result error block.
      method getSSDVideoResolutionAndFrameRateWithCompletion
      - (void)getSSDVideoResolutionAndFrameRateWithCompletion:(void (^_Nonnull)(DJICameraVideoResolutionAndFrameRate *_Nullable resolutionAndframeRate,
      NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSSDVideoResolutionAndFrameRate
      Description:

      Get Raw Video Format and Frame Rate of the SSD.

      Input Parameters:
      DJICameraVideoResolutionAndFrameRate *_Nullable resolutionAndframeRateThe DJICameraVideoResolutionAndFrameRate object.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraVideoResolutionAndFrameRate *_Nullable resolutionAndframeRate, NSError *_Nullable error) completionCompletion block to receive the result.
      method setSSDLegacyColor:withCompletion
      - (void)setSSDLegacyColor:(DJICameraSSDLegacyColor)color withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSSDLegacyColor
      Description:

      Sets the camera color for video that will be stored in SSD. It is only applied when the selected license key is either DJICameraSSDVideoLicenseProRes422HQ or DJICameraSSDVideoLicenseProRes4444XQ. This is the legacy version of SSD Color and it is only supported by Inspire 2 with firmware package versions (getFirmwarePackageVersionWithCompletion) lower than 01.0.0240. For newer firmware package versions, use setSSDColor:withCompletion instead.

      Input Parameters:
      DJICameraSSDLegacyColor colorSSD legacy color to set.
      DJICompletionBlock completionCompletion block that receives the setter result.
      method getSSDLegacyColorWithCompletion
      - (void)getSSDLegacyColorWithCompletion:(void (^_Nonnull)(DJICameraSSDLegacyColor color, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSSDLegacyColor
      Description:

      Gets the camera color for video that will store in SSD. This is the legacy version of SSD Color and it is only supported by Inspire 2 with firmware package versions (getFirmwarePackageVersionWithCompletion) lower than 01.0.0240. For newer firmware package versions, use getSSDColorWithCompletion instead.

      Input Parameters:
      DJICameraSSDLegacyColor colorThe value of the DJICameraSSDLegacyColor Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraSSDLegacyColor color, NSError *_Nullable error) completionCompletion block to receive the result.
      method setSSDColor:withCompletion
      - (void)setSSDColor:(DJICameraSSDColor)color withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the color for videos that will be stored in SSD. It is only applied when the selected license key is either DJICameraSSDVideoLicenseProRes422HQ or DJICameraSSDVideoLicenseProRes4444XQ. For DJICameraSSDVideoLicenseCinemaDNG, the color is always DJICameraSSDColorRawColor. It is only supported Inspire 2 with the firmware package version (getFirmwarePackageVersionWithCompletion) 01.0.0240 or later. For older firmware package versions, use setSSDLegacyColor:withCompletion instead.

      Input Parameters:
      DJICameraSSDColor colorVideo color to set.
      DJICompletionBlock completionCompletion block to receive the result.
      method getSSDColorWithCompletion
      - (void)getSSDColorWithCompletion:(void (^_Nonnull)(DJICameraSSDColor color, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the color for videos that will be stored in SSD. It is only supported Inspire 2 with the firmware package version (getFirmwarePackageVersionWithCompletion) 01.0.0240 or later. For older firmware package versions, use getSSDLegacyColorWithCompletion instead.

      Input Parameters:
      DJICameraSSDColor colorColor that has been set.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(DJICameraSSDColor color, NSError *_Nullable error) completionCompletion block to receive the result.
      method getSSDVideoLicensesWithCompletion
      - (void)getSSDVideoLicensesWithCompletion:(void (^_Nonnull)(NSArray<NSNumber *> *licenses , NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSSDVideoLicenses
      Description:

      Gets purchased license key(s). An Inspire 2 License Key activates the usage permission of CinemaDNG or Apple ProRes inside CineCore 2.0. User can purchase a license key on DJI's website. It is supported by Inspire 2. the digital filter for video that will store in SSD. It is only supported Inspire 2.

      Input Parameters:
      NSArray<NSNumber *> * licensesThe array of licenses number.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSArray<NSNumber *> *licenses , NSError *_Nullable error) completionCompletion block to receive the result.
      method activateSSDVideoLicense:withCompletion
      - (void)activateSSDVideoLicense:(DJICameraSSDVideoLicense)license withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSSDRAWLicense
      Description:

      Sets the SSD video license to be used. If an unpurchased license is selected then only SD video will be recorded.

      Input Parameters:
      DJICameraSSDVideoLicense licenseLicense to used.
      DJICompletionBlock completionCompletion block to receive the result.
      method getSSDVideoLicenseWithCompletion
      - (void)getSSDVideoLicenseWithCompletion:(void (^_Nonnull)(DJICameraSSDVideoLicense license, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSSDRAWLicense
      Description:

      Gets the license key being used. It is supported by Inspire 2.

      Input Parameters:
      DJICameraSSDVideoLicense licenseThe value of the DJICameraSSDVideoLicense Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraSSDVideoLicense license, NSError *_Nullable error) completionCompletion block to receive the result.


      Auto Lock Gimbal

      method setAutoLockGimbalEnabled:withCompletion
      - (void)setAutoLockGimbalEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Enables this to lock the gimbal when the camera is shooting a photo. The gimbal will keep the attitude when starting to shoot the photo.

      Input Parameters:
      BOOL enabledYES to enable the feature.
      DJICompletionBlock completionCompletion block that receives the setter result.
      method getAutoLockGimbalEnabledWithCompletion
      - (void)getAutoLockGimbalEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Determines whether the gimbal will be locked automatically during shooting photos.

      Input Parameters:
      BOOL enabledYES if it is enabled.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.


      Watermark Settings

      method setWatermarkSettings:withCompletion
      - (void)setWatermarkSettings:(DJICameraWatermarkSettings *)config withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the watermark configuration. Enables this to add timestamp and location stamp to the newly generated photos or videos. It is only supported by Mavic 2 Enterprise series. For Mavic 2 Enterprise Dual, the watermark is only applied to photos and videos generated by the visual camera.

      Input Parameters:
      DJICameraWatermarkSettings * configThe watermark configuration to set.
      DJICompletionBlock completionCompletion block to receive the result.
      method getWatermarkSettingsWithCompletion
      - (void)getWatermarkSettingsWithCompletion:(void (^_Nonnull)(DJICameraWatermarkSettings *settings, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the watermark settings. If it is enabled, timestamp and location stamp will be added to the newly generated photos or videos. It is only supported by Mavic 2 Enterprise series. For Mavic 2 Enterprise Dual, the watermark is only applied to photos and videos generated by the visual camera.

      Input Parameters:
      DJICameraWatermarkSettings * settingsThe watermark settings to set.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraWatermarkSettings *settings, NSError *_Nullable error) completionCompletion block to receive the result.


      Storage Settings

      method setFileIndexMode:withCompletion
      - (void)setFileIndexMode:(DJICameraFileIndexMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFileIndexMode
      Description:

      Sets the camera's file index mode for the SD card. The default value of DJICameraFileIndexMode is set to DJICameraFileIndexModeReset.

      Input Parameters:
      DJICameraFileIndexMode modeFile index mode to be set for the camera's SD card.
      DJICompletionBlock completionRemote execution result error block.
      method getFileIndexModeWithCompletion
      - (void)getFileIndexModeWithCompletion:(void (^_Nonnull)(DJICameraFileIndexMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFileIndexMode
      Description:

      Gets the camera's file index mode.

      Input Parameters:
      DJICameraFileIndexMode modeThe value of the DJICameraFileIndexMode Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraFileIndexMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      method formatSDCardWithCompletion
      - (void)formatSDCardWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFormatSDCard
      Description:

      Formats the SD card by deleting all the data on the SD card. This does not change any settings the user may have set on the SD card.

      Input Parameters:
      DJICompletionBlock completionRemote execution result callback block.
      method formatStorage:withCompletion
      - (void)formatStorage:(DJICameraStorageLocation)storage withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Formats the storage by deleting all the data on it.

      Input Parameters:
      DJICameraStorageLocation storageThe storage (either SD card or the internal storage) to format. When it is DJICameraStorageLocationSDCard, this interface has the same effect as formatSDCardWithCompletion.
      DJICompletionBlock completionRemote execution result callback block.
      method isSSDSupported
      - (BOOL)isSSDSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsSSDSupported
      Description:

      Determines whether the SSD is supported by the camera. Currently, the SSD is supported only by X5R, X4S and X5S camera. @return YES if SSD is supported, otherwise NO.

      Return:
      BOOLA boolean value.
      method formatSSDWithCompletion
      - (void)formatSSDWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamFormatSSD
      Description:

      Formats the SSD by deleting all the data on the SSD. This does not change any settings the user may have set on the SSD.

      Input Parameters:
      DJICompletionBlock completionThe execution callback with the returned execution result.


      Misc Settings

      method setAntiFlickerFrequency:withCompletion
      - (void)setAntiFlickerFrequency:(DJICameraAntiFlickerFrequency)antiFlickerFrequency withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAntiFlickerFrequency
      Description:

      Sets the camera's anti-flicker frequency for video recording. Precondition: The exposure mode must be Program. Note: for the Z30 camera, changing anti-flicker will reboot the camera before the setting takes effect.

      Input Parameters:
      DJICameraAntiFlickerFrequency antiFlickerFrequencyAnti-flicker value to set for the camera. See DJICameraAntiFlickerFrequency to view all the possible anti-flicker type settings for the camera.
      DJICompletionBlock completionCompletion block.
      method getAntiFlickerFrequencyWithCompletion
      - (void)getAntiFlickerFrequencyWithCompletion:(void (^_Nonnull)(DJICameraAntiFlickerFrequency antiFlickerFrequency, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAntiFlickerFrequency
      Description:

      Gets the camera's anti-flicker.

      Input Parameters:
      DJICameraAntiFlickerFrequency antiFlickerFrequencyThe value of the DJICameraAntiFlickerFrequency Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraAntiFlickerFrequency antiFlickerFrequency, NSError *_Nullable error) completionCompletion block to receive the result.
      method setSharpness:withCompletion
      - (void)setSharpness:(int8_t)sharpness withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSharpness
      Description:

      Sets the camera's sharpness. The default value is 0.

      Input Parameters:
      int8_t sharpnessSharpness value to be set in the range of [-3, 3].
      DJICompletionBlock completionAsynchronous execution result.
      method getSharpnessWithCompletion
      - (void)getSharpnessWithCompletion:(void (^_Nonnull)(int8_t sharpness, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSharpness
      Description:

      Gets the camera's sharpness.

      Input Parameters:
      int8_t sharpnessThe value of the sharpness with range [-3, 3].
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(int8_t sharpness, NSError *_Nullable error) completionCompletion block to receive the result.
      method setContrast:withCompletion
      - (void)setContrast:(int8_t)contrast withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamContrast
      Description:

      Sets the camera's contrast. The default saturation value is 0.

      Input Parameters:
      int8_t contrastContrast value to be set in the range of [-3, 3].
      DJICompletionBlock completionCompletion block.
      method getContrastWithCompletion
      - (void)getContrastWithCompletion:(void (^_Nonnull)(int8_t contrast, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamContrast
      Description:

      Gets the camera's contrast.

      Input Parameters:
      int8_t contrastThe value of the contrast with range [-3, 3].
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(int8_t contrast, NSError *_Nullable error) completionCompletion block to receive the result.
      method setDefogEnabled:withCompletion
      - (void)setDefogEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamDefogEnabled
      Description:

      Enable/disable defog feature. When defog feature is enabled, the contrast will be enhanced extraordinarily. It is only supported Z30.

      Input Parameters:
      BOOL enabledYES to enable defog feature.
      DJICompletionBlock completionCompletion block that receives the setter result.
      method getDefogEnabledWithCompletion
      - (void)getDefogEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamDefogEnabled
      Description:

      Determines whether defog feature is enabled. It is only supported by Z30 camera.

      Input Parameters:
      BOOL enabledThe enabled value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      method setIRFilterEnabled:withCompletion
      - (void)setIRFilterEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Enables/disables the IR filter (infared filter). Disabling the IR filter can enhance the image in low light environments. Enabling the IR filter can reduce the color distortion caused by the infared light. It is only supported by Z30 camera.

      Input Parameters:
      BOOL enabledYES to enable IR-Cut filter.
      DJICompletionBlock completionCompletion block that receives the setter result.
      method getIRFilterEnabledWithCompletion
      - (void)getIRFilterEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Determines whether IR filter (infared filter) is enabled. Disabling the IR filter can enhance the image in low light environments. Enabling the IR filter can reduce the color distortion caused by the infared light. It is only supported by Z30 camera.

      Input Parameters:
      BOOL enabledYES if IR-Cut filter is enabled.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      method setSaturation:withCompletion
      - (void)setSaturation:(int8_t)saturation withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSaturation
      Description:

      Sets the camera's saturation. The default saturation value is 0.

      Input Parameters:
      int8_t saturationSaturation value to be set in the range of [-3, 3]. The default value of the saturation value is 0.
      DJICompletionBlock completionRemote execution result error block.
      method getSaturationWithCompletion
      - (void)getSaturationWithCompletion:(void (^_Nonnull)(int8_t saturation, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamSaturation
      Description:

      Gets the camera's saturation.

      Input Parameters:
      int8_t saturationThe saturation value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(int8_t saturation, NSError *_Nullable error) completionCompletion block to receive the result.
      Digital Filter
      method
      method setColor:withCompletion
      - (void)setColor:(DJICameraColor)color withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamColor
      Description:

      Sets the camera's color. The default value is DJICameraColorNone. For a list of all possible camera colors, see DJICameraColor.

      Input Parameters:
      DJICameraColor colorCamera color to be applied to the camera.
      DJICompletionBlock completionRemote execution result error block.
      method getColorWithCompletion
      - (void)getColorWithCompletion:(void (^_Nonnull)(DJICameraColor color, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamColor
      Description:

      Gets the camera's color.

      Input Parameters:
      DJICameraColor colorThe current camera's color.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraColor color, NSError *_Nullable error) completionCompletion block to receive the result.
      Camera Orientation
      method
      method setOrientation:withCompletion
      -(void)setOrientation:(DJICameraOrientation)orientation withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamOrientation
      Description:

      Sets the camera's orientation. The gimbal will rotate the roll axis based on the orientation. Supported only by Mavic Pro.

      Input Parameters:
      DJICameraOrientation orientationCamera's orientation.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method getOrientationWithCompletion
      -(void)getOrientationWithCompletion:(void (^_Nonnull)(DJICameraOrientation orientation, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamOrientation
      Description:

      Gets the camera's orientation. Supported only by Mavic Pro.

      Input Parameters:
      DJICameraOrientation orientationThe value of the DJICameraOrientation Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraOrientation orientation, NSError *_Nullable error) completionCompletion block to receive the result.
      method setVisionStabilizationEnabled:withCompletion
      - (void)setVisionStabilizationEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVisionStabilizationEnabled
      Description:

      Enables vision stabilization for Z30 camera on M200 series. The vision system in the M200 series of aircraft can be used to compensate for any drift in the gimbal by analyzing the live view when there is no gimbal movement. Drift in the gimbal will be most noticeable at higher zoom factors. It is only supported Z30 on M200 series.

      Input Parameters:
      BOOL enabledYES to enable the vision stabilization.
      DJICompletionBlock completioncompletion block to receive the result.
      method getVisionStabilizationEnabledWithCompletion
      - (void)getVisionStabilizationEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamVisionStabilizationEnabled
      Description:

      Determines whether vision stabilization is enabled. It is only supported Z30 on M200 series.

      Input Parameters:
      BOOL enabledYES if the vision stabilization is enabled.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      method setMediaFileCustomInformation:withCompletion
      - (void)setMediaFileCustomInformation:(NSString *)information withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamMediaFileCustomInformation
      Description:

      Custom information can be stored in media file's XMP meta data. The custom information is written to the media file automatically after the media file is created. This method defines the information to write. The same information will be written to all media files until the information is changed again by this method. Custom information written to each file can be retrieved through fetchCustomInformationWithCompletion or from the image itself when processed on a separate system. It is only supported Phantom 4 Pro, Phantom 4 Advanced, Phantom 4 Pro V2.0, Zenmuse X4S, Zenmuse X5S, Zenmuse X7, Mavic 2 Enterprise camera and Mavic 2 Enterprise Dual camera.

      Input Parameters:
      NSString * informationCustom information to set. Use UTF-8 encoding with a length equal to or less than 31 characters.
      DJICompletionBlock completionCompletion block to receive the result.
      method getMediaFileCustomInformationWithCompletion
      - (void)getMediaFileCustomInformationWithCompletion:(void (^_Nonnull)(NSString *_Nullable information, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamMediaFileCustomInformation
      Description:

      Custom information can be stored in media file's XMP meta data. This method retrieves the information that will be written to future media files. The information written to individual files can be retrieved through fetchCustomInformationWithCompletion. It is only supported Phantom 4 Pro, Phantom 4 Advanced, Phantom 4 Pro V2.0, Zenmuse X4S, Zenmuse X5S, Zenmuse X7, Mavic 2 Enterprise camera and Mavic 2 Enterprise Dual camera.

      Input Parameters:
      NSString *_Nullable informationThe custom information to write.
      NSError *_Nullable errorThe encountered error if any.
      void (^_Nonnull)(NSString *_Nullable information, NSError *_Nullable error) completionCompletion block to receive the result.
      Video Dewarping Enabled
      method
      method setVideoDewarpingEnabled:withCompletion
      - (void)setVideoDewarpingEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Enables/disables dewarping (lens distortion correction) for video recorded to SD card. Supported by Phantom 4 Pro camera, X4S, X5S and X7.

      Input Parameters:
      BOOL enabledYES to enable video dewarping.
      DJICompletionBlock completionCompletion block to receive the setter result.
      method getVideoDewarpingEnabledWithCompletion
      - (void)getVideoDewarpingEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Determines whether dewarping (lens distortion correction) is enabled. Supported by Phantom 4 Pro camera, X4S, X5S and X7.

      Input Parameters:
      BOOL enabledYES if the video dewarping is enabled.
      NSError *_Nullable errorThe encountered error if any.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the getter result.
      Sensor Cleaning Mode
      method
      method initSensorCleaningModeWithCompletion
      - (void)initSensorCleaningModeWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Initiates the sensor cleaning mode. Calling this will change sensorCleaningState from DJICameraSensorCleaningStateIdle to DJICameraSensorCleaningStateInitiating. To start the sensor dedusting operation, the workflow should be:
      1. Call initSensorCleaningModeWithCompletion.
      2. Remove the lens from the camera.
      3. Call startSensorCleaningWithCompletion.
      4. When sensorCleaningState becomes DJICameraSensorCleaningStateWaitingForLensRemount, mount the lens back to the camera.

      It is only supported Zenmuse X7.

      Input Parameters:
      DJICompletionBlock completionCompletion block to receive the result.
      method startSensorCleaningWithCompletion
      - (void)startSensorCleaningWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Starts cleaning the sensor. The sensor cleaning should only be started when the lens is removed from the camera. It is only supported Zenmuse X7.

      Input Parameters:
      DJICompletionBlock completionCompletion block to receive the result.
      method exitSensorCleaningModeWithCompletion
      - (void)exitSensorCleaningModeWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Exits sensor cleaning mode. Calling this will stop the current executing operation and change sensorCleaningState to DJICameraSensorCleaningStateIdle.

      Input Parameters:
      DJICompletionBlock completionCompletion block to receive the result.
      EI Mode
      method
      method isEIModeSupported
      - (BOOL)isEIModeSupported
      Header:DJICamera.h
      Description:

      Determines whether the EI (exposure index) mode is supported by the camera. In this mode, the camera mimics the way a film camera works to help cinematographers capture as much information as possible while balancing the dynamic range and noise with different log curves. This mode only takes effect when the camera mode is in DJICameraModeRecordVideo. The EI mode is supported by X4S, X5S and X7.

      Return:
      BOOLYES if the EI mode is supported, otherwise NO.
      method setExposureSensitivityMode:withCompletion
      - (void)setExposureSensitivityMode:(DJICameraExposureSensitivityMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the exposure sensitivity mode. It is only supported when isEIModeSupported returns YES. It is supported by X4S, X5S and X7. For other cameras, only ISO mode is supported.

      Input Parameters:
      DJICameraExposureSensitivityMode modeThe exposure sensitivity mode to set.
      DJICompletionBlock completionCompletion block to receive the setter result.
      method getExposureSensitivityModeWithCompletion
      - (void)getExposureSensitivityModeWithCompletion:(void (^_Nonnull)(DJICameraExposureSensitivityMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the exposure sensitivity mode. It is only supported when isEIModeSupported returns YES. It is supported by X4S, X5S and X7. For other cameras, only ISO mode is supported.

      Input Parameters:
      DJICameraExposureSensitivityMode modeThe exposure sensitivity mode has been set.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(DJICameraExposureSensitivityMode mode, NSError *_Nullable error) completionCompletion block to receive the getter result.
      method setEI:withCompletion
      - (void)setEI:(NSUInteger)ei withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets EI value. The valid range can be fetched from getEIRangeWithCompletion. It is only valid when exposure sensitivity mode is DJICameraExposureSensitivityModeEI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      NSUInteger eiThe EI value to set.
      DJICompletionBlock completionCompletion block to receive the setter result.
      method getEIWithCompletion
      - (void)getEIWithCompletion:(void (^_Nonnull)(NSUInteger ei, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets EI value. It is only valid when exposure sensitivity mode is DJICameraExposureSensitivityModeEI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      NSUInteger eiThe EI value to set.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(NSUInteger ei, NSError *_Nullable error) completionCompletion block to receive the getter result.
      method getRecommendedEIWithCompletion
      - (void)getRecommendedEIWithCompletion:(void (^_Nonnull)(NSUInteger recommendedEI, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the EI value recommended by the camera. It is only valid when exposure sensitivity mode is DJICameraExposureSensitivityModeEI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      NSUInteger recommendedEIThe EI value recommended by the camera.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(NSUInteger recommendedEI, NSError *_Nullable error) completionCompletion block to receive the getter result.
      method getEIRangeWithCompletion
      - (void)getEIRangeWithCompletion:(void (^_Nonnull)(NSArray<NSNumber *> *_Nullable range, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the valid range of EI values. It is only valid when exposure sensitivity mode is DJICameraExposureSensitivityModeEI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      NSArray<NSNumber *> *_Nullable rangeThe valid range of EI values. Each element is an integer.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(NSArray<NSNumber *> *_Nullable range, NSError *_Nullable error) completionCompletion block to receive the getter result.
      method setEIColor:withCompletion
      - (void)setEIColor:(DJICameraEIColor)color withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the camera color for EI mode. It is only valid when exposure sensitivity mode is DJICameraExposureSensitivityModeEI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      DJICameraEIColor colorThe camera color to set.
      DJICompletionBlock completionCompletion block to receive the setter result.
      method getEIColorWithCompletion
      - (void)getEIColorWithCompletion:(void (^_Nonnull)(DJICameraEIColor color, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the camera color for EI mode. It is only valid when exposure sensitivity mode is DJICameraExposureSensitivityModeEI. It is only supported by X4S, X5S and X7.

      Input Parameters:
      DJICameraEIColor colorThe current camera color.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(DJICameraEIColor color, NSError *_Nullable error) completionCompletion block to receive the getter result.
      Mechanical Shutter Speed
      method
      method isMechanicalShutterSupported
      - (BOOL)isMechanicalShutterSupported
      Header:DJICamera.h
      Description:

      Determines whether the mechanical shutter speed is supported by the camera or the lens (for X7). The mechanical shutter is supported by Phantom 4 Pro camera, X4S and X7 with DL lenses.

      Return:
      BOOLYES if the mechanical shutter is supported, otherwise NO.
      method setMechanicalShutterEnabled:withCompletion
      - (void)setMechanicalShutterEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Enables the mechanical shutter. It is only valid when isMechanicalShutterSupported returns YES.

      Input Parameters:
      BOOL enabledYES to enable the mechanical shutter.
      DJICompletionBlock completionCompletion block to receive the setter result.
      method getMechanicalShutterEnabledWithCompletion
      - (void)getMechanicalShutterEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Determines whether the mechanical shutter is enabled. It is only valid when isMechanicalShutterSupported returns YES.

      Input Parameters:
      BOOL enabledYES if the mechanical shutter is enabled.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the getter result.
      ND Filter Mode
      method
      method isNDFilterModeSupported
      - (BOOL)isNDFilterModeSupported
      Header:DJICamera.h
      Description:

      Determines whether the ND filter mode is supported by the camera and the lens. Only the DL-S 16mm F2.8 ND ASPH lens for X7 has a built-in ND4 filter and supports changing the modes through an application.

      Return:
      BOOLYES if the ND filter mode is supported, otherwise NO.
      method setNDFilterMode:withCompletion
      - (void)setNDFilterMode:(DJICameraNDFilterMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the mode of ND filter. It is only valid when isNDFilterModeSupported returns YES.

      Input Parameters:
      DJICameraNDFilterMode modeThe ND filter mode to set.
      DJICompletionBlock completionCompletion block to receive the setter result.
      method getNDFilterModeWithCompletion
      - (void)getNDFilterModeWithCompletion:(void (^_Nonnull)(DJICameraNDFilterMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the ND filter mode. It is only valid when isNDFilterModeSupported returns YES.

      Input Parameters:
      DJICameraNDFilterMode modeThe ND filter mode.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(DJICameraNDFilterMode mode, NSError *_Nullable error) completionCompletion block to receive the getter result.
      method setSSDClipFileName:withCompletion
      - (void)setSSDClipFileName:(DJICameraSSDClipFileName *)name withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the clip name for the video to be stored in SSD. The clip name will be applied to the next video file stored in SSD. After saving a video file, clipID will increase by 1 automatically. It is only supported by Inspire 2.

      Input Parameters:
      DJICameraSSDClipFileName * nameThe clip name to set.
      DJICompletionBlock completionCompletion block to receive the setter result.
      method getSSDClipFileNameWithCompletion
      - (void)getSSDClipFileNameWithCompletion:(void (^_Nonnull)(DJICameraSSDClipFileName *_Nullable name, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the clip name for video to be stored in SSD. It is only supported by Inspire 2.

      Input Parameters:
      DJICameraSSDClipFileName *_Nullable nameThe clip name that will be applied to the next video file stored in SSD.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(DJICameraSSDClipFileName *_Nullable name, NSError *_Nullable error) completionCompletion block to receive the getter result.
      method isPhotoQuickViewSupported
      - (BOOL)isPhotoQuickViewSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsPhotoQuickViewSupported
      Description:

      Determines whether the device supports the quick view. Quick view is the period of time a photo is shown as a preview after it is taken and before the camera returns to the live camera view.

      Return:
      BOOLA boolean value.
      method setPhotoQuickViewDuration:withCompletion
      - (void)setPhotoQuickViewDuration:(NSUInteger)duration withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoQuickViewDuration
      Description:

      Sets the camera's quick view duration. The valid range is [0, 10] seconds. When duration is 0, it means that the quick view is disabled. The default value is 0 second. Call isPhotoQuickViewSupported before using this method.

      Input Parameters:
      NSUInteger durationQuick view duration to be set for the camera.
      DJICompletionBlock completionRemote execution result error block.
      method getPhotoQuickViewDurationWithCompletion
      - (void)getPhotoQuickViewDurationWithCompletion:(void (^_Nonnull)(NSUInteger duration, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamPhotoQuickViewDuration
      Description:

      Gets the camera's quick view duration.

      Input Parameters:
      NSUInteger durationThe duration value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSUInteger duration, NSError *_Nullable error) completionCompletion block to receive the result.
      method setHDLiveViewEnabled:withCompletion
      -(void)setHDLiveViewEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamHDLiveViewEnabled
      Description:

      Enables HD (high-definition) live view. When it is enabled, the live view resolution is 1080p with frame rate 30 fps. The settings will only take effect when the camera is in record-video mode and the video resolution is either 1080p or 2.7k without slow-motion enabled. If recording video in 4k, then the live stream will be limited to 720p. Supported by Mavic Pro, Mavic 2 Pro, Mavic 2 Zoom and Phantom 4 Pro v2.0.

      Input Parameters:
      BOOL enabledEnable or disable HD live view.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method getHDLiveViewEnabledWithCompletion
      -(void)getHDLiveViewEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamHDLiveViewEnabled
      Description:

      YES if 1080p live view is enabled. This will return the value of the setter, and not necessarily the actual live view resolution. For example, if recording in 4K and HD live view has previously been set, then this will return YES but the actual live view resolution will be 720p. Supported only by Mavic Pro, Mavic 2 Pro, Mavic 2 Zoom and Phantom 4 Pro V2.0.

      Input Parameters:
      BOOL enabledThe enabled value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      method setLEDAutoTurnOffEnabled:withCompletion
      -(void)setLEDAutoTurnOffEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAutoTurnOffLEDMode
      Description:

      Enables the automatic control of the front-arm LEDs. The camera can turn off the front-arm LEDs automatically when it shoots photos or records videos. The LEDs will be turned on after the shooting or recording is finished. Supported only by Mavic Pro, Mavic Air, and Mavic 2 series.

      Input Parameters:
      BOOL enabledEnable the automatic control of the front-arm LEDs.
      DJICompletionBlock completionThe completion block with the returned execution result.
      method getLEDAutoTurnOffEnabledWithCompletion
      -(void)getLEDAutoTurnOffEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAutoTurnOffLEDMode
      Description:

      Determines whether the automatic control of the front-arm LEDs is Enabled. Supported only by Mavic Pro, Mavic Air, and Mavic 2 series.

      Input Parameters:
      BOOL enabledThe enabled value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      method setBeaconAutoTurnOffEnabled:withCompletion
      - (void)setBeaconAutoTurnOffEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Enables the automatic control of the beacon. The camera can turn off the beacon automatically when it shoots photos or records videos. The LEDs will be turned on after the shooting or recording is finished. Only Supported by Matrice 200 series V2.

      Input Parameters:
      BOOL enabledEnable the automatic control of the beacon.
      DJICompletionBlock completionThe completion block with the returned execution result.
      method getBeaconAutoTurnOffEnabledWithCompletion
      - (void)getBeaconAutoTurnOffEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Determines whether the automatic control of the beacon is Enabled. Only Supported by M200 series v2.

      Input Parameters:
      BOOL enabledThe enabled value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.


      Storage Location

      method isInternalStorageSupported
      - (BOOL)isInternalStorageSupported
      Header:DJICamera.h
      Description:

      Determines if the camera supports the internal storage or not. When it is supported, the camera shoot photos or record videos without SD card. The newly generated photos or videos will be stored in the internal storage.

      Return:
      BOOLYES if internal storage is supported.
      method setStorageLocation:withCompletion
      - (void)setStorageLocation:(DJICameraStorageLocation)location withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the storage location for the newly generated photos or videos. It is only supported when isInternalStorageSupported returns YES.

      Input Parameters:
      DJICameraStorageLocation locationThe storage location to set.
      DJICompletionBlock completionCompletion block to receive the setter result.
      method getStorageLocationWithCompletion
      - (void)getStorageLocationWithCompletion:(void (^_Nonnull)(DJICameraStorageLocation location, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the storage location for the newly generated photos or videos. When isInternalStorageSupported returns NO, this setting is always DJICameraStorageLocationSDCard.

      Input Parameters:
      DJICameraStorageLocation locationThe location to store photos and videos.
      NSError *_Nullable errorError if there is any.
      void (^_Nonnull)(DJICameraStorageLocation location, NSError *_Nullable error) completionCompletion block to receive the getter result.


      Audio Settings

      method isAudioRecordingSupported
      - (BOOL)isAudioRecordingSupported
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsAudioRecordingSupported
      Description:

      Determines whether the current device supports audio recording. Currently audio recording is supported only by the Osmo camera.

      Return:
      BOOLThe boolean value.
      method setAudioRecordingEnabled:withCompletion
      - (void)setAudioRecordingEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAudioRecordingEnabled
      Description:

      Enables audio recording when capturing video. Supported only by Osmo camera.

      Input Parameters:
      BOOL enabledEnable or disable audio recording.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method getAudioRecordingEnabledWithCompletion
      - (void)getAudioRecordingEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAudioRecordingEnabled
      Description:

      Determines whether the audio record is enabled.

      Input Parameters:
      BOOL enabledThe enabled value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      Microphone Gain
      method
      method setAudioGain:withCompletion
      - (void)setAudioGain:(uint8_t)value withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAudioGain
      Description:

      Sets the microphone recording gain.

      Input Parameters:
      uint8_t valueRecording gain with range [0, 100].
      DJICompletionBlock completionThe completion block with the returned value(s).
      method getAudioGainWithCompletion
      - (void)getAudioGainWithCompletion:(void (^_Nonnull)(uint8_t value, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamAudioGain
      Description:

      Gets the microphone recording gain.

      Input Parameters:
      uint8_t valueThe value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(uint8_t value, NSError *_Nullable error) completionCompletion block to receive the result.
      method setTurnOffFanWhenPossible:withCompletion
      - (void)setTurnOffFanWhenPossible:(BOOL)turnOffWhenPossible withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamTurnOffFanWhenPossible
      Description:

      This method will turn off the camera's cooling fan whenever the camera is cool enough to do so. This allows better audio recording from the internal microphone in the camera.

      Input Parameters:
      BOOL turnOffWhenPossibleYES to turn fan off whenever possible.
      DJICompletionBlock completionThe execution block with the returned execution result.
      method getTurnOffFanWhenPossibleWithCompletion
      - (void)getTurnOffFanWhenPossibleWithCompletion:(void (^_Nonnull)(BOOL turnOffWhenPossible, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamTurnOffFanWhenPossible
      Description:

      Determines whether the fan will turn off whenever it is cool enough to do so to enable better audio recordings from the camera's internal microphone.

      Input Parameters:
      BOOL turnOffWhenPossibleThe turnOffWhenPossible value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL turnOffWhenPossible, NSError *_Nullable error) completionCompletion block to receive the result.


      Thermal

      Check
      method
      method isThermalCamera
      - (BOOL)isThermalCamera
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamIsThermalCamera
      Description:

      YES if the current connected device is a thermal imaging camera. @return BOOL YES if current connected device is thermal imaging camera.

      Return:
      BOOLA boolean value.
      Region of Interest (ROI)
      method
      method setThermalROI:withCompletion
      - (void)setThermalROI:(DJICameraThermalROI)roi withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalROI
      Description:

      Sets the Region of Interest (ROI). Used to manage color range distribution across the screen to maximize contrast for regions of highest interest. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalROI roiAn enum type of the Region of Interest to be used. Please refer to DJICameraThermalROI.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalROIWithCompletion
      - (void)getThermalROIWithCompletion:(void (^_Nonnull)(DJICameraThermalROI roi, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalROI
      Description:

      Gets the Region of Interest.

      Input Parameters:
      DJICameraThermalROI roiThe value of the DJICameraThermalROI Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraThermalROI roi, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalPalette:withCompletion
      - (void)setThermalPalette:(DJICameraThermalPalette)palette withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalPalette
      Description:

      Sets the Palette. Each palette is a unique look-up table that maps 8-bit temperature values to different colors. Different palettes can be used to help the user better visualize temperature contrast or specific temperature bands. The valid range can be fetched from DJISupportedCameraThermalPaletteRange. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalPalette paletteAn enum type of the DJICameraThermalPalette to be used.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalPaletteWithCompletion
      - (void)getThermalPaletteWithCompletion:(void (^_Nonnull)(DJICameraThermalPalette palette, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalPalette
      Description:

      Gets the Palette.

      Input Parameters:
      DJICameraThermalPalette paletteThe value of the DJICameraThermalPalette Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraThermalPalette palette, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalScene:withCompletion
      - (void)setThermalScene:(DJICameraThermalScene)scene withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalScene
      Description:

      Sets the scene to instantly enhance your image. In all modes except Manual and User modes, the DDE, ACE, SSO, brightness and contrast are set automatically to obtain the best result. In User modes, the contrast and brightness are set automatically to obtain the best results. Any settings that are made in these modes are retained if the scene is changed. In Manual mode, DDE, contrast and brightness are set manually. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      DJICameraThermalScene sceneAn enum type for the DJICameraThermalScene to be used.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalSceneWithCompletion
      - (void)getThermalSceneWithCompletion:(void (^_Nonnull)(DJICameraThermalScene scene, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalScene
      Description:

      Gets current scene.

      Input Parameters:
      DJICameraThermalScene sceneThe value of the DJICameraThermalScene Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraThermalScene scene, NSError *_Nullable error) completionCompletion block to receive the result.
      Digital Data Enhancement (DDE)
      method
      method setThermalDDE:withCompletion
      - (void)setThermalDDE:(NSInteger)value withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalDDE
      Description:

      Sets the Digital Data Enhancement index (for DDE dynamic mode). DDE can be used to enhance image details (sharpen, higher index) and/or suppress fixed pattern noise (soften, lower index). It can be set manually only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      NSInteger valueInteger in range [-20, 100]. Values less than 0 soften the image and filter fixed pattern noise. Values greater than 0 sharpen the details in the image. Value of 0 results in no enhancement.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalDDEWithCompletion
      - (void)getThermalDDEWithCompletion:(void (^_Nonnull)(NSInteger value, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalDDE
      Description:

      Gets the value of Digital Data Enhancement. The value is available only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      NSInteger valueThe value of Digital Data Enhancement.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSInteger value, NSError *_Nullable error) completionCompletion block to receive the result.
      Active Contrast Enhancement (ACE)
      method
      method setThermalACE:withCompletion
      - (void)setThermalACE:(NSInteger)value withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalACE
      Description:

      Set the value of Active Contrast Enhancement. Active contrast enhancement allows for a contrast trade-off between hotter and colder scenes when using 8-bit pixel data. It can be set manually only when the Scene mode is User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      NSInteger valueInteger in range [-8, 8]. <br> value > 0: more contrast in hotter scene content and less contrast in colder scene content (sky, ocean etc.). <br> value < 0: more contrast in colder scene content and less contrast in hotter scene content. <br> value = 0: neutral <br> value = 3: recommended for generic use
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalACEWithCompletion
      - (void)getThermalACEWithCompletion:(void (^_Nonnull)(NSInteger value, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalACE
      Description:

      Gets the value of Active Contrast Enhancement. The value is available only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      NSInteger valueThe value of Active Contrast Enhancement.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSInteger value, NSError *_Nullable error) completionCompletion block to receive the result.
      Smart Scene Optimization (SSO)
      method
      method setThermalSSO:withCompletion
      - (void)setThermalSSO:(NSInteger)value withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalSSO
      Description:

      Sets the value of Smart Scene Optimization. When using non-linear histogram equalization to map the 14-bit sensor pixel values to 8-bit pixel values, it can become difficult to determine the difference in temperature of two objects from their different shades of gray. SSO allows a percentage of the 14-bit histogram to be mapped linearly to the 8-bit histogram, which will compromise local contrast, but allow for more accurate visual radiometric measurements. This is particularly useful for bi-modal scenes. It can be set manually only when the Scene mode is User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      NSInteger valuePercentage of histogram to map linearly [0, 100].
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalSSOWithCompletion
      - (void)getThermalSSOWithCompletion:(void (^_Nonnull)(NSInteger value, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalSSO
      Description:

      Gets the value of Smart Scene Optimization. The value is available only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      NSInteger valueThe value of Smart Scene Optimization.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSInteger value, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalBrightness:withCompletion
      - (void)setThermalBrightness:(NSUInteger)brightness withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalBrightness
      Description:

      Sets the brightness of the image. It can be set manually only when the Scene mode is Manual. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      NSUInteger brightnessThe integer value falls in [0, 16383].
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalBrightnessWithCompletion
      - (void)getThermalBrightnessWithCompletion:(void (^_Nonnull)(NSUInteger brightness, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalBrightness
      Description:

      Gets the value of brightness. The value is available only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      NSUInteger brightnessThe value of brightness.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSUInteger brightness, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalContrast:withCompletion
      - (void)setThermalContrast:(NSUInteger)contrast withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalContrast
      Description:

      Sets the value of contrast, with larger values having higher contrast. It can be set manually only when the Scene mode is Manual. Supported only by thermal imaging cameras.

      Input Parameters:
      NSUInteger contrastContrast value as an integer with range [0, 255].
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalContrastWithCompletion
      - (void)getThermalContrastWithCompletion:(void (^_Nonnull)(NSUInteger Contrast, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalContrast
      Description:

      Gets contrast value. The value is available only when the Scene mode is Manual, User1, User2 or User3. Supported only by thermal imaging cameras.

      Input Parameters:
      NSUInteger ContrastThe contrast value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSUInteger Contrast, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalIsothermEnabled:withCompletion
      - (void)setThermalIsothermEnabled:(BOOL)enabled withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermEnabled
      Description:

      Enable or disable Isotherms. Isotherms can be used to highlight specific temperature ranges: When disabled, all 256 values (8-bits) are dedicated to the temperature histogram of the scene. When enabled, only 128 values (0-127) are mapped linearly to temperature. Then three bands 128-175, 176-223 and 224-255 can be mapped to the user defined temperatures to highlight them to the user. Using some of the false color palettes (like RainbowIso) results in a thermal image that is grey scale except for three specific bands highlighted by either reds, blues or greens. Supported only by thermal imaging cameras.

      Input Parameters:
      BOOL enabledYES if isotherms are enabled.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalIsothermEnabledWithCompletion
      - (void)getThermalIsothermEnabledWithCompletion:(void (^_Nonnull)(BOOL enabled, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermEnabled
      Description:

      Determines whether Isotherms are enabled. YES if Isotherms are enabled. Supported only by thermal imaging cameras.

      Input Parameters:
      BOOL enabledYES if Isotherms are enabled.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalIsothermUnit:withCompletion
      - (void)setThermalIsothermUnit:(DJICameraThermalIsothermUnit)unit withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermUnit
      Description:

      Sets the unit of the Isotherm ranges to either Celsius or percent. Different units results in different value ranges for Isotherms. Supported only by thermal imaging cameras except Mavic 2 Enterprise Dual thermal camera. For Mavic 2 Enterprise Dual, the Isotherm unit is always DJICameraThermalIsothermUnitCelsius.

      Input Parameters:
      DJICameraThermalIsothermUnit unitAn enum type of the CameraThermalIsothermUnit to be used. Please refer to DJICameraThermalIsothermUnit.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalIsothermUnitWithCompletion
      - (void)getThermalIsothermUnitWithCompletion:(void (^_Nonnull)(DJICameraThermalIsothermUnit unit, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermUnit
      Description:

      Gets the units for Isotherm ranges. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera. For Mavic 2 Enterprise Dual, the Isotherm unit is always DJICameraThermalIsothermUnitCelsius.

      Input Parameters:
      DJICameraThermalIsothermUnit unitThe value of the DJICameraThermalIsothermUnit Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraThermalIsothermUnit unit, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalIsothermUpperValue:withCompletion
      - (void)setThermalIsothermUpperValue:(NSInteger)value withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermUpperValue
      Description:

      Sets the upper threshold value for Isotherm. All temperature values above this will use colors 224-255 from the palette. Supported only by thermal imaging cameras.

      Input Parameters:
      NSInteger valueIf the unit is percentage, the allowed range is [0,100]. If the unit is Celsius, for Mavic 2 Enterprise Dual thermal camera, the value range is [-10, 400]. For other thermal imaging cameras, the value range is [-40, 500]. The value can only be equal or larger than middle Isotherm threshold.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalIsothermUpperValueWithCompletion
      - (void)getThermalIsothermUpperValueWithCompletion:(void (^_Nonnull)(NSInteger value, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermUpperValue
      Description:

      Gets the upper threshold value for Isotherm. Supported only by thermal imaging cameras.

      Input Parameters:
      NSInteger valueThe upper threshold value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSInteger value, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalIsothermMiddleValue:withCompletion
      - (void)setThermalIsothermMiddleValue:(NSInteger)value withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermMiddleValue
      Description:

      Sets the middle threshold value for Isotherm. Temperature values between the middle and upper Isotherm threshold will be displayed with colors 176-223 from the palette. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      NSInteger valueIf the unit is percentage, the value falls in [0,100]. If the unit is Celsius, the value range is [-40, 550]. The value can only be equal or larger than lower threshold and equal or smaller than upper threshold.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalIsothermMiddleValueWithCompletion
      - (void)getThermalIsothermMiddleValueWithCompletion:(void (^_Nonnull)(NSInteger value, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermMiddleValue
      Description:

      Gets the middle threshold value for Isotherm. Supported only by thermal imaging cameras, except Mavic 2 Enterprise Dual thermal camera.

      Input Parameters:
      NSInteger valueThe middle threshold value for Isotherm.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSInteger value, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalIsothermLowerValue:withCompletion
      - (void)setThermalIsothermLowerValue:(NSInteger)value withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermLowerValue
      Description:

      Sets the lower threshold value for Isotherm. Temperature values between the lower and middle Isotherm threshold will be displayed with colors 128-175 from the palette. Supported only by thermal imaging cameras.

      Input Parameters:
      NSInteger valueIf the unit is percentage, the value falls in [0,100]. If the unit is Celsius, for Mavic 2 Enterprise Dual thermal camera, the value range is [-10, 400], for other thermal imaging cameras, the value range is [-40, 500]. The value can only be equal or smaller than upper threshold.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalIsothermLowerValueWithCompletion
      - (void)getThermalIsothermLowerValueWithCompletion:(void (^_Nonnull)(NSInteger value, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermLowerValue
      Description:

      Gets the lower threshold value for Isotherm. Supported only by thermal imaging cameras.

      Input Parameters:
      NSInteger valueThe lower threshold value for Isotherm.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(NSInteger value, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalGainMode:withCompletion
      - (void)setThermalGainMode:(DJICameraThermalGainMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalGainMode
      Description:

      Sets the gain mode. Low gain mode can be used for scenes with temperatures ranging from -40 to 550 degrees Celsius. For higher contrast, the high gain mode can be used by for temperatures between -25 to 135 degrees Celsius for the 640x512 camera and -25 to 100 degrees Celsius for 324 x 256 camera. Mavic 2 Enterprise Dual has different temperature range from other thermal imaging cameras. Therefore, for Mavic 2 Enterprise Dual, the low gain mode can be used from -10 to 140 degrees Celsius. The high gain mode can be used from -10 to 400 degree Celsius. Supported by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalGainMode modeAn enum type of the DJICameraThermalGainMode to be used.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalGainModeWithCompletion
      - (void)getThermalGainModeWithCompletion:(void (^_Nonnull)(DJICameraThermalGainMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalGainMode
      Description:

      Gets the gain mode. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalGainMode modeThe value of the DJICameraThermalGainMode Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraThermalGainMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalMeasurementMode:withCompletion
      - (void)setThermalMeasurementMode:(DJICameraThermalMeasurementMode)mode
      withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalMeasurementMode
      Description:

      Sets the mode for thermal measurement. Use delegate method camera:didUpdateTemperatureData or camera:didUpdateAreaTemperatureAggregations to receive the measurement result. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalMeasurementMode modeThe desired measurement mode.
      DJICompletionBlock completionCompletion block that receives the getter execution result.
      method getThermalMeasurementModeWithCompletion
      - (void)getThermalMeasurementModeWithCompletion:(void (^_Nonnull)(DJICameraThermalMeasurementMode mode,
      NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalMeasurementMode
      Description:

      Gets the mode for thermal measurement. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalMeasurementMode modeThe value of the DJICameraThermalMeasurementMode Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraThermalMeasurementMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalDigitalZoomFactor:withCompletion
      - (void)setThermalDigitalZoomFactor:(DJICameraThermalDigitalZoomFactor)factor withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalDigitalZoomFactor
      Description:

      Adjusts the digital zoom. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalDigitalZoomFactor factorFor resolution 640 x 512, x1,x2,x4,x8 can be set. For resolution 336 x 256, only x1,x2,x4 can be set. Please refer to DJICameraThermalDigitalZoomScale in DJICameraSettingsDef.
      DJICompletionBlock completionThe execution callback with the returned execution result.
      method getThermalDigitalZoomFactorWithCompletion
      - (void)getThermalDigitalZoomFactorWithCompletion:(void (^_Nonnull)(DJICameraThermalDigitalZoomFactor factor, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalDigitalZoomFactor
      Description:

      Gets current digital zoom. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalDigitalZoomFactor factorThe value of the DJICameraThermalDigitalZoomFactor Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraThermalDigitalZoomFactor factor, NSError *_Nullable error) completionCompletion block to receive the result.
      method getThermalProfileWithCompletion
      - (void)getThermalProfileWithCompletion:(void (^_Nonnull)(DJICameraThermalProfile profile, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalProfile
      Description:

      Gets the thermal imaging camera profile. The profile includes information about resolution, frame rate and focal length. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalProfile profileThe value of the DJICameraThermalProfile Struct.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraThermalProfile profile, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalSpotMeteringTargetPoint:withCompletion
      - (void)setThermalSpotMeteringTargetPoint:(CGPoint)targetPoint withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalSpotMeteringTargetPoint
      Description:

      Sets the spot metering target point which then changes the camera:didUpdateTemperatureData delegate call to return. This method requires a relative point that is proportional to the dimension of the camera video dimension, the x, and y values must all be between 0 and 1.0. Supported only by XT2, Mavic 2 Enterprise Dual and Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      CGPoint targetPointThe desired target point.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method getThermalSpotMeteringTargetPointWithCompletion
      - (void)getThermalSpotMeteringTargetPointWithCompletion:(void (^_Nonnull)(CGPoint targetPoint, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalSpotMeteringTargetPoint
      Description:

      Gets the spot metering target point if one is set, if not then returns CGPointZero. Supported only by XT2, Mavic 2 Enterprise Dual and Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      CGPoint targetPointThe CGPoint struct.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(CGPoint targetPoint, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalMeteringArea:withCompletion
      - (void)setThermalMeteringArea:(CGRect)area withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalSpotMeteringArea
      Description:

      Set the metering area for a rectangle inside the thermal image scene, which allows the camera to transmit aggregate temperature computations via the camera:didUpdateAreaTemperatureAggregations delegate method. See DJICameraThermalAreaTemperatureAggregations for the statistical values that are available. This method requires a relative rect that is proportional to the rect of the thermal scene, the x, y, width, and height values must all be between 0 and 1.0. Supported only by XT2, Mavic 2 Enterprise Dual and Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      CGRect areaThe desired thermal metering area.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method getThermalMeteringAreaWithCompletion
      - (void)getThermalMeteringAreaWithCompletion:(void (^_Nonnull)(CGRect area, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalSpotMeteringArea
      Description:

      Get a rect representing the currently set metering area for the thermal scene. Supported only by XT2, Mavic 2 Enterprise Dual and Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      CGRect areaThe CGRect struct.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(CGRect area, NSError *_Nullable error) completionCompletion block to receive the result.
      Flat-field Correction (FFC)
      method
      method setThermalFFCMode:withCompletion
      - (void)setThermalFFCMode:(DJICameraThermalFFCMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalFFCMode
      Description:

      Set the flat-field correction (FFC) mode. Supported only by thermal imaging cameras. For Mavic 2 Enterprise Dual thermal camera, the DJICameraThermalFFCMode is always DJICameraThermalFFCModeAuto.

      Input Parameters:
      DJICameraThermalFFCMode modeThe desired FFC mode.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method getThermalFFCModeWithCompletion
      - (void)getThermalFFCModeWithCompletion:(void (^_Nonnull)(DJICameraThermalFFCMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalFFCMode
      Description:

      Get the currently set flat-field correction (FFC) mode. Supported only by thermal imaging cameras with installed firmware version of 1.15.1.60 or higher. For Mavic 2 Enterprise Dual thermal camera, the DJICamera_DJICameraThermalFFCMode is always DJICamera_DJICameraThermalFFCMode_Auto.

      Input Parameters:
      DJICameraThermalFFCMode modeThe value of the DJICameraThermalFFCMode Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraThermalFFCMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      method triggerThermalFFCWithCompletion
      - (void)triggerThermalFFCWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalTriggerFFC
      Description:

      Trigger flat-field correction. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICompletionBlock completionCompletion block that receives the execution result of the trigger action.
      method setThermalCustomExternalSceneSettingsProfile:withCompletion
      - (void)setThermalCustomExternalSceneSettingsProfile:(DJICameraThermalCustomExternalSceneSettingsProfile)profile withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalCustomExternalSceneSettingsProfile
      Description:

      Set the custom user profile. This profile represents user-set external scene parameters for the thermal scene. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalCustomExternalSceneSettingsProfile profileThe desired user profile setting.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method getThermalCustomExternalSceneSettingsProfileWithCompletion
      - (void)getThermalCustomExternalSceneSettingsProfileWithCompletion:(void (^_Nonnull)(DJICameraThermalCustomExternalSceneSettingsProfile profile, NSError *_Nullable error))completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalCustomExternalSceneSettingsProfile
      Description:

      Get the currently set custom user profile. This profile represents user-set external scene parameters for the thermal scene. Supported only by thermal imaging cameras.

      Input Parameters:
      DJICameraThermalCustomExternalSceneSettingsProfile profileThe value of the DJICameraThermalCustomExternalSceneSettingsProfile Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraThermalCustomExternalSceneSettingsProfile profile, NSError *_Nullable error) completionCompletion block to receive the result.
      method setThermalAtmosphericTemperature:withCompletion
      - (void)setThermalAtmosphericTemperature:(float)temperature withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalAtmosphericTemperature
      Description:

      Set the temperature of the atmosphere between the scene and the camera. Supported only by Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      float temperatureThe assumed temperature of the atmosphere between the camera and the scene, can be between -50 and 327.67 degrees Celsius.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method setThermalAtmosphericTransmissionCoefficient:withCompletion
      - (void)setThermalAtmosphericTransmissionCoefficient:(float)coefficient withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalAtmosphericTransmissionCoefficient
      Description:

      Set the transmission coefficient of the atmosphere between the scene and the camera. Supported only by Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      float coefficientThe desired atmospheric temperature, can be between 50 and 100.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method setThermalBackgroundTemperature:withCompletion
      - (void)setThermalBackgroundTemperature:(float)temperature withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalBackgroundTemperature
      Description:

      Set the assumed temperature reflected by the background of the scene, can be between -50 and 327.67 degrees Celsius. Supported only by Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      float temperatureThe desired background reflected temperature.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method setThermalSceneEmissivity:withCompletion
      - (void)setThermalSceneEmissivity:(float)emissivity withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalSceneEmissivity
      Description:

      Set the emissivity of the thermal scene, can be between 50 and 100. Supported only by Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      float emissivityThe desired scene emissivity.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method setThermalWindowReflection:withCompletion
      - (void)setThermalWindowReflection:(float)reflection withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalWindowReflection
      Description:

      Set assumed window reflection coefficient, can be between 0 and X where X is the window transmission coefficient parameter. Supported only by Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      float reflectionThe desired window reflection coefficient.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method setThermalWindowReflectedTemperature:withCompletion
      - (void)setThermalWindowReflectedTemperature:(float)temperature withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalWindowReflectedTemperature
      Description:

      Set the temperature reflected in the window, can be between -50 and 327.67 degrees Celsius. Supported only by Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      float temperatureThe desired window reflected temperature.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method setThermalWindowTemperature:withCompletion
      - (void)setThermalWindowTemperature:(float)temperature withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalWindowTemperature
      Description:

      Set the window temperature, can be between -50 and 327.67 degrees Celsius. Supported only by Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      float temperatureThe desired window temperature.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method setThermalWindowTransmissionCoefficient:withCompletion
      - (void)setThermalWindowTransmissionCoefficient:(float)coefficient withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalWindowTransmissionCoefficient
      Description:

      Set the window transmission coefficient, can be between 50 and 100-X where X is the window reflection. Supported only by Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      float coefficientThe desired window transmission coefficient.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method setThermalTemperatureUnit:withCompletion
      - (void)setThermalTemperatureUnit:(DJICameraTemperatureUnit)temperatureUnit withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the temperature unit. Only supported by XT2 and Mavic 2 Enterprise Dual.

      Input Parameters:
      DJICameraTemperatureUnit temperatureUnitTemperature unit to set.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method getThermalTemperatureUnitWithCompletion
      - (void)getThermalTemperatureUnitWithCompletion:(void (^_Nonnull)(DJICameraTemperatureUnit temperatureUnit, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the temperature unit. Only supported by XT2 and Mavic 2 Enterprise Dual Thermal camera.

      Input Parameters:
      DJICameraTemperatureUnit temperatureUnitThe current temperature unit.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraTemperatureUnit temperatureUnit, NSError *_Nullable error) completionCompletion block to receive the result.
      method setDisplayMode:withCompletion
      - (void)setDisplayMode:(DJICameraDisplayMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the display mode to coordinate the video feeds from both the visual camera and the thermal camera. Only supported by XT2 camera and Mavic 2 Enterprise Dual Thermal Camera.

      Input Parameters:
      DJICameraDisplayMode modeThe display mode to set.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method getDisplayModeWithCompletion
      - (void)getDisplayModeWithCompletion:(void (^_Nonnull)(DJICameraDisplayMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the display mode. The display mode determine the way to coordinate the video feeds from both the visual camera and the thermal camera. Only supported by XT2 camera and Mavic 2 Enterprise Dual Thermal Camera.

      Input Parameters:
      DJICameraDisplayMode modeThe current display mode.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraDisplayMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      method setPIPPosition:withCompletion
      - (void)setPIPPosition:(DJICameraPIPPosition)position withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the thermal window's position relative to the visual window. The setting is valid when the display mode is DJICameraDisplayModePIP. Refer to setDisplayMode:withCompletion and getDisplayModeWithCompletion. Only supported by XT2 camera.

      Input Parameters:
      DJICameraPIPPosition positionThe position to set.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method getPIPPositionWithCompletion
      - (void)getPIPPositionWithCompletion:(void (^_Nonnull)(DJICameraPIPPosition position, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the PIP position which determines the thermal window's position relative to the visual window. The setting is valid when the display mode is DJICameraDisplayModePIP. Refer to setDisplayMode:withCompletion and getDisplayModeWithCompletion. Only supported by XT2 camera.

      Input Parameters:
      DJICameraPIPPosition positionThe current position.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraPIPPosition position, NSError *_Nullable error) completionCompletion block to receive the result.
      method setMSXLevel:withCompletion
      - (void)setMSXLevel:(uint8_t)level withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the level for MSX display mode. The range for level is [0, 100]. When it is 0, the visible spectrum definition is invisible. When it is 100, the visual spectrum definition is the most obvious. Only supported by XT2 camera.

      Input Parameters:
      uint8_t levelThe MSX level to set with range [0, 100].
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method getMSXLevelWithCompletion
      - (void)getMSXLevelWithCompletion:(void (^_Nonnull)(uint8_t level, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the level for MSX display mode. The range for level is [0, 100]. When it is 0, the visible spectrum definition is invisible. When it is 100, the visual spectrum definition is the most obvious. Only supported by XT2 camera.

      Input Parameters:
      uint8_t levelThe current MSX level.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(uint8_t level, NSError *_Nullable error) completionCompletion block to receive the result.
      Dual Feed Vertical Alignment
      method
      method setDualFeedVerticalAlignmentOffset:withCompletion
      - (void)setDualFeedVerticalAlignmentOffset:(int8_t)offset withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the vertical alignment offset between the video feeds from both the visual camera and the thermal camera. The alignment is applied to the MSX display mode. Different camera results in different value ranges. For XT2 camera, the valid range is [-8, 8]. For Mavic 2 Enterprise Dual, the valid range is [-40, 40]. Positive value will move the thermal window up. Use this setting to fine-tune the performance of MSX display mode and the align PIP mode. Only supported by XT2 camera and Mavic 2 Enterprise Dual.

      Input Parameters:
      int8_t offsetThe vertical offset to set.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method getDualFeedVerticalAlignmentOffsetWithCompletion
      - (void)getDualFeedVerticalAlignmentOffsetWithCompletion:(void (^_Nonnull)(int8_t offset, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the vertical alignment offset between the video feeds from both the visual camera and the thermal camera. The alignment is applied to the MSX display mode. Different camera results in different value ranges. For XT2 camera, the valid range is [-8, 8]. For Mavic 2 Enterprise Dual, the valid range is [-40, 40]. Positive value will move the thermal window up. Only supported by XT2 camera and Mavic 2 Enterprise Dual camera.

      Input Parameters:
      int8_t offsetThe current vertical offset.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(int8_t offset, NSError *_Nullable error) completionCompletion block to receive the result.
      Dual Feed Horizontal Alignment
      method
      method setDualFeedHorizontalAlignmentOffset:withCompletion
      - (void)setDualFeedHorizontalAlignmentOffset:(int8_t)offset withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the horizontal alignment offset between the video feeds from both the visual camera and the thermal camera. The alignment is applied to the MSX display mode. Different camera results in different value ranges. For XT2 camera, the valid range is [-100, 100]. For Mavic 2 Enterprise Dual, the valid range is [-40, 40]. Positive value will move the thermal window to the right. Use this setting to fine-tune the performance of MSX display mode and the align PIP mode. Only supported by XT2 camera and Mavic 2 Enterprise Dual.

      Input Parameters:
      int8_t offsetThe horizontal offset to set.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      method getDualFeedHorizontalAlignmentOffsetWithCompletion
      - (void)getDualFeedHorizontalAlignmentOffsetWithCompletion:(void (^_Nonnull)(int8_t offset, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the horizontal alignment offset between the video feeds from both the visual camera and the thermal camera. The alignment is applied to the MSX display mode. Different camera results in different value ranges. For XT2 camera, the valid range is [-100, 100]. For Mavic 2 Enterprise Dual, the valid range is [-40, 40]. Positive value will move the thermal window to the right. Only supported by XT2 camera and Mavic 2 Enterprise Dual.

      Input Parameters:
      int8_t offsetThe current vertical offset.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(int8_t offset, NSError *_Nullable error) completionCompletion block to receive the result.


      State Updates
      protocol
      protocol DJICameraDelegate
      @protocol DJICameraDelegate <NSObject>
      Header:DJICamera.h
      Inherits From:NSObject
      Description:

      This protocol provides delegate methods to receive the updated video data, camera's current state and lens information.

      Protocol Methods:

      Protocol Method

      method camera:didUpdateSystemState
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateSystemState:(DJICameraSystemState *_Nonnull)systemState
      Header:DJICamera.h
      Description:

      Called when the camera's current state has been updated.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which system state will be updated.
      DJICameraSystemState *_Nonnull systemStateThe camera's system state.
      method camera:didUpdateFocusState
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateFocusState:(DJICameraFocusState *_Nonnull)lensState
      Header:DJICamera.h
      Description:

      Called when the camera's lens and focus state has been updated.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which focus state will be updated.
      DJICameraFocusState *_Nonnull lensStateThe camera's lens and focus state.
      method camera:didGenerateNewMediaFile
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didGenerateNewMediaFile:(DJIMediaFile *_Nonnull)newMedia
      Header:DJICamera.h
      Description:

      Called when a new media file (photo or video) has been generated.
      In this delegate method, the DJIMediaFile instance properties thumbnail, durationInSeconds and videoOrientation require special consideration. The thumbnail property normally has a pointer to a UIImage of the thumbnail, but this is only available when the camera is in DJICameraModeMediaDownload work mode. Additionally, for this instance of DJIMediaFile, the durationInSeconds property is 0 and the videoOrientation property is DJICameraOrientationLandscape.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of Camera that generates the new media file.
      DJIMediaFile *_Nonnull newMediaThe new media file.
      method camera:didGenerateTimeLapsePreview
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didGenerateTimeLapsePreview:(UIImage *_Nonnull)preview
      Header:DJICamera.h
      Description:

      Called when a time-lapse preview image has been generated. This method is only available on Osmo with firmware version v1.5.2.0 or above.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of Camera that generates the time-lapse preview image.
      UIImage *_Nonnull previewThe new generated preview image.
      method camera:didUpdateSDCardState
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateSDCardState:(DJICameraStorageState *_Nonnull)sdCardState DJI_API_DEPRECATED("Use camera:didUpdateStorageState:. ")
      Header:DJICamera.h
      Description:

      Called when the camera's SD card state has been updated. This method is now deprecated.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which SDCard state will be updated.
      DJICameraStorageState *_Nonnull sdCardStateThe camera's SD card state.
      method camera:didUpdateStorageState
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateStorageState:(DJICameraStorageState *_Nonnull)storageState
      Header:DJICamera.h
      Description:

      Called when the camera's storage state has been updated. Use DJICameraStorageState's location to determine if the updated state is for SD card or the internal storage.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which storage state will be updated.
      DJICameraStorageState *_Nonnull storageStateThe camera storage state. If the camera supports internal storage (e.g. Mavic Air), use location to determine whether the state is for SD card or internal storage.
      method camera:didUpdateSSDState
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateSSDState:(DJICameraSSDState *_Nonnull)ssdState
      Header:DJICamera.h
      Description:

      Called when the camera's SSD state has been updated. This method is available only when isSSDSupported is YES.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which SSD state will be updated.
      DJICameraSSDState *_Nonnull ssdStateThe camera's SSD state.
      method camera:didUpdateAreaTemperatureAggregations
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateAreaTemperatureAggregations:(DJICameraThermalAreaTemperatureAggregations)temperatureAggregations
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalAreaTemperatureAggregations
      Description:

      Called when there are new min, max, and average temperature values available for the set spot metering area. Supported only by Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which area temperature aggregations will be updated.
      DJICameraThermalAreaTemperatureAggregations temperatureAggregationsThe updated aggregate temperature values.
      method camera:didUpdateExternalSceneSettings
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateExternalSceneSettings:(DJICameraThermalExternalSceneSettings)settings
      Header:DJICamera.h
      Description:

      Called when updated external scene settings are available. Supported only by Zenmuse XT containing Advanced Radiometry capabilities.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which external scene settings will be updated.
      DJICameraThermalExternalSceneSettings settingsThe updated external scene settings values
      method camera:didUpdateExposureSettings
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateExposureSettings:(DJICameraExposureSettings)settings
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamExposureSettings
      Description:

      Called whenever the camera parameters change. In automatic exposure modes (Program, Shutter Priority and Aperture Priority) the camera may be automatically changing aperture, shutter speed and ISO (depending on the mode and camera) when lighting conditions change. In Manual mode, the exposure compensation is automatically updated to let the user know how much compensation the exposure needs to get to an exposure the camera calculates as correct.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which exposure settings will be updated.
      DJICameraExposureSettings settingsThe updated real values for parameters.
      method camera:didUpdateTemperatureData
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateTemperatureData:(float)temperature
      Header:DJICamera.h
      SDK Key:DJICameraKey.DJICameraParamThermalTemperatureData
      Description:

      Received temperature in degrees Celsius of image. The thermal imaging camera will only update the temperature if the temperature data is enabled. For the XT Standard version, the temperature measurement data is the average of the center four pixels of the image. For the XT Advanced Radiometry version, the temperature measurement point can be set using setThermalSpotMeteringTargetPoint:withCompletion.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which temperature data will be updated.
      float temperatureThe camera's temperature data in degrees Celsius.
      method camera:didUpdateTapZoomState
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateTapZoomState:(DJICameraTapZoomState)state
      Header:DJICamera.h
      Description:

      Called when the camera's zoom state is updated. It is only supported by Z30 camera.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which tap zoom state will be updated.
      DJICameraTapZoomState stateThe camera's current zoom state.
      method camera:didUpdateHistogram
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateHistogram:(NSArray *)histogram
      Header:DJICamera.h
      Description:

      Called when the histogram's light values change. It contains a series of NSNumber data.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which histogram will be updated.
      NSArray * histogramThe histogram's light values.
      Managers
      class
      enum DJICameraMode
      typedef NS_ENUM (NSUInteger, DJICameraMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamMode
      Description:

      Camera work modes.

      Enum Members:
      DJICameraModeShootPhotoCapture mode. In this mode, the user can capture pictures.
      DJICameraModeRecordVideoRecord mode. In this mode, the user can record videos.
      DJICameraModePlaybackPlayback mode. In this mode, the user can preview photos and videos, and can delete files. It is supported by Phantom 3 Professional camera, X3, X5 and X5R cameras on aircraft and Phantom 4 camera. Playback mode is not supported by Z30, X5S, X4S, Phantom 4 Pro, Mavic Pro, Phantom 3 Standard, Phantom 3 Advanced, Phantom 3 4K and Osmo series.
      DJICameraModeMediaDownloadIn this mode, the user can download media to the Mobile Device. Not supported by X5 camera nor X5R camera while mounted on aircraft.
      DJICameraModeBroadcastIn this mode, live stream resolution and frame rate will be 1080i50 (PAL) or 720p60 (NTSC). In this mode videos can be recorded. Still photos can also be taken only when video is recording. The only way to exit broadcast mode is to change modes to DJICameraModeRecordVideo. Only supported by Inspire 2.
      DJICameraModeUnknownThe camera work mode is unknown.
      enum DJICameraShootPhotoMode
      typedef NS_ENUM (NSUInteger, DJICameraShootPhotoMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamShootPhotoMode
      Description:

      The ShootPhoto mode itself can have several modes. The default value is DJICameraShootPhotoModeSingle.

      Enum Members:
      DJICameraShootPhotoModeSingleSets the camera to take a single photo.
      DJICameraShootPhotoModeHDRSets the camera to take an HDR photo. X5 camera, X5R camera, XT camera, Z30 camera, Phantom 4 Pro camera, X4S camera and X5S camera do not support HDR mode.
      DJICameraShootPhotoModeBurstSet the camera to take multiple photos at once. XT camera does not support Burst mode.
      DJICameraShootPhotoModeAEBAutomatic Exposure Bracketing (AEB) capture. In this mode you can quickly take multiple shots (the default is 3) at different exposures without having to manually change any settings between frames. XT camera and Z30 camera does not support AEB mode.
      DJICameraShootPhotoModeIntervalSets the camera to take a picture (or multiple pictures) continuously at a set time interval. The minimum interval for JPEG format of any quality is 2s. For all cameras except X4S, X5S and Phantom 4 Pro camera: The minimum interval for RAW or RAW+JPEG format is 10s. For the X4S, X5S and Phantom 4 Pro cameras the minimum interval for RAW or RAW+JPEG dformat is 5s.
      DJICameraShootPhotoModeTimeLapseSets the camera to take a picture (or multiple pictures) continuously at a set time interval. The camera will merge the photo sequence and the output is a video. The minimum interval for Video only format is 1 s. The minimum interval for Video+Photo format is 2 s. For the new Osmo firmware version, no video feed will be received if the camera is shooting photos with Time-lapse mode. Instead, user can receive a sequence of preview images using the delegate method camera:didGenerateTimeLapsePreview. Supported only by Osmo camera (Z3 and X3).
      DJICameraShootPhotoModePanoramaIn panorama mode, the aircraft takes a series of photos with different gimbal and aircraft heading positions. The photos can be stitched with a third-party library. It is supported by Spark and Mavic Air.
      DJICameraShootPhotoModeEHDRSets the camera to take an enhanced-HDR photo. It blends a sequence of photos for ghost-free high dynamic range photos. It is supported by Mavic 2 Zoom and Mavic 2 Pro.
      DJICameraShootPhotoModeHyperLightSets the camera to take photos in HyperLight mode. It is a setting for low-light environment to enhance the photo quality while reducing noise significantly. It is supported by Mavic 2 Zoom and Mavic 2 Pro.
      DJICameraShootPhotoModeCameraPanoramaIn Camera Panorama mode, which is miss in Previous Version since Mavic 2 Zoom and Mavic 2 Pro.
      DJICameraShootPhotoModeRAWBurstSets the camera to take a burst of RAW photos. Use rawPhotoBurstCount to check how many photos have been shot. Only supported by X5S.
      DJICameraShootPhotoModeShallowFocusSets the camera to take a series of photos while the aircraft moves up and down automatically. The image's depth of field can be computed with a third-party library to produce a photo with the bokeh effect. Note:
      1. It is only suitable for shooting still scenes.
      2. The aircraft will ascend about 20cm before shooting. Ensure that there is no obstacle about the aircraft.
      3. The suitable range of shooting is within 30m.
      It is only supported by Spark.
      DJICameraShootPhotoModeUnknownThe shoot photo mode is unknown.
      enum DJICameraExposureMode
      typedef NS_ENUM (NSUInteger, DJICameraExposureMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamExposureMode
      Description:

      Camera exposure modes. The default value is DJICameraExposureModeProgram. The different exposure modes define whether Aperture, Shutter Speed, ISO can be set automatically or manually. Exposure compensation can be changed in all modes except Manual mode where it is not settable.
      X5, X5R, Phantom 4 Pro camera, X4S and X5S:
      Program Mode: Shutter: Auto Aperture: Auto ISO: Manual or Auto
      Shutter Priority: Shutter: Manual Aperture: Auto ISO: Manual or Auto
      Aperture Priority: Shutter: Auto Aperture: Manual ISO: Manual or Auto
      Manual Mode: Shutter: Manual Aperture: Manual ISO: Manual


      All other cameras:
      Program Mode: Shutter: Auto Aperture: Fixed ISO: Auto
      Shutter Priority: Shutter: Manual Aperture: Fixed ISO: Auto
      Aperture Priority: NA
      Manual Mode: Shutter: Manual Aperture: Manual ISO: Manual

      Enum Members:
      DJICameraExposureModeProgramProgram mode.
      DJICameraExposureModeShutterPriorityShutter priority mode.
      DJICameraExposureModeAperturePriorityAperture priority mode.
      DJICameraExposureModeManualManual mode.
      DJICameraExposureModeUnknownThe camera exposure mode is unknown.
      enum DJICameraShutterSpeed
      typedef NS_ENUM (NSUInteger, DJICameraShutterSpeed)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamShutterSpeed
      Description:

      Camera's shutter speed options.

      Enum Members:
      DJICameraShutterSpeed1_8000Camera's shutter speed 1/8000 s.
      DJICameraShutterSpeed1_6400Camera's shutter speed 1/6400 s.
      DJICameraShutterSpeed1_6000Camera's shutter speed 1/6000 s.
      DJICameraShutterSpeed1_5000Camera's shutter speed 1/5000 s.
      DJICameraShutterSpeed1_4000Camera's shutter speed 1/4000 s.
      DJICameraShutterSpeed1_3200Camera's shutter speed 1/3200 s.
      DJICameraShutterSpeed1_3000Camera's shutter speed 1/3000 s.
      DJICameraShutterSpeed1_2500Camera's shutter speed 1/2500 s.
      DJICameraShutterSpeed1_2000Camera's shutter speed 1/2000 s.
      DJICameraShutterSpeed1_1600Camera's shutter speed 1/1600 s.
      DJICameraShutterSpeed1_1500Camera's shutter speed 1/1500 s.
      DJICameraShutterSpeed1_1250Camera's shutter speed 1/1250 s.
      DJICameraShutterSpeed1_1000Camera's shutter speed 1/1000 s.
      DJICameraShutterSpeed1_800Camera's shutter speed 1/800 s.
      DJICameraShutterSpeed1_750Camera's shutter speed 1/750 s.
      DJICameraShutterSpeed1_725Camera's shutter speed 1/725 s.
      DJICameraShutterSpeed1_640Camera's shutter speed 1/640 s.
      DJICameraShutterSpeed1_500Camera's shutter speed 1/500 s.
      DJICameraShutterSpeed1_400Camera's shutter speed 1/400 s.
      DJICameraShutterSpeed1_350Camera's shutter speed 1/350 s.
      DJICameraShutterSpeed1_320Camera's shutter speed 1/320 s.
      DJICameraShutterSpeed1_250Camera's shutter speed 1/250 s.
      DJICameraShutterSpeed1_240Camera's shutter speed 1/240 s.
      DJICameraShutterSpeed1_200Camera's shutter speed 1/200 s.
      DJICameraShutterSpeed1_180Camera's shutter speed 1/180 s.
      DJICameraShutterSpeed1_160Camera's shutter speed 1/160 s.
      DJICameraShutterSpeed1_125Camera's shutter speed 1/125 s.
      DJICameraShutterSpeed1_120Camera's shutter speed 1/120 s.
      DJICameraShutterSpeed1_100Camera's shutter speed 1/100 s.
      DJICameraShutterSpeed1_90Camera's shutter speed 1/90 s.
      DJICameraShutterSpeed1_80Camera's shutter speed 1/80 s.
      DJICameraShutterSpeed1_60Camera's shutter speed 1/60 s.
      DJICameraShutterSpeed1_50Camera's shutter speed 1/50 s.
      DJICameraShutterSpeed1_45Camera's shutter speed 1/45 s.
      DJICameraShutterSpeed1_40Camera's shutter speed 1/40 s.
      DJICameraShutterSpeed1_30Camera's shutter speed 1/30 s.
      DJICameraShutterSpeed1_25Camera's shutter speed 1/25 s.
      DJICameraShutterSpeed1_20Camera's shutter speed 1/20 s.
      DJICameraShutterSpeed1_15Camera's shutter speed 1/15 s.
      DJICameraShutterSpeed1_12Dot5Camera's shutter speed 1/12.5 s.
      DJICameraShutterSpeed1_10Camera's shutter speed 1/10 s.
      DJICameraShutterSpeed1_8Camera's shutter speed 1/8 s.
      DJICameraShutterSpeed1_6Dot25Camera's shutter speed 1/6.25 s.
      DJICameraShutterSpeed1_6Camera's shutter speed 1/6 s.
      DJICameraShutterSpeed1_5Camera's shutter speed 1/5 s.
      DJICameraShutterSpeed1_4Camera's shutter speed 1/4 s.
      DJICameraShutterSpeed1_3Camera's shutter speed 1/3 s.
      DJICameraShutterSpeed1_2Dot5Camera's shutter speed 1/2.5 s.
      DJICameraShutterSpeed0Dot3Camera's shutter speed 0.3 s.
      DJICameraShutterSpeed1_2Camera's shutter speed 1/2 s.
      DJICameraShutterSpeed1_1Dot67Camera's shutter speed 1/1.67 s.
      DJICameraShutterSpeed1_1Dot25Camera's shutter speed 1/1.25 s.
      DJICameraShutterSpeed0Dot7Camera's shutter speed 0.7 s.
      DJICameraShutterSpeed1Camera's shutter speed 1.0 s.
      DJICameraShutterSpeed1Dot3Camera's shutter speed 1.3 s.
      DJICameraShutterSpeed1Dot4Camera's shutter speed 1.4 s.
      DJICameraShutterSpeed1Dot6Camera's shutter speed 1.6 s.
      DJICameraShutterSpeed2Camera's shutter speed 2.0 s.
      DJICameraShutterSpeed2Dot5Camera's shutter speed 2.5 s.
      DJICameraShutterSpeed3Camera's shutter speed 3.0 s.
      DJICameraShutterSpeed3Dot2Camera's shutter speed 3.2 s.
      DJICameraShutterSpeed4Camera's shutter speed 4.0 s.
      DJICameraShutterSpeed5Camera's shutter speed 5.0 s.
      DJICameraShutterSpeed6Camera's shutter speed 6.0 s.
      DJICameraShutterSpeed7Camera's shutter speed 7.0 s.
      DJICameraShutterSpeed8Camera's shutter speed 8.0 s.
      DJICameraShutterSpeed9Camera's shutter speed 9.0 s.
      DJICameraShutterSpeed10Camera's shutter speed 10.0 s.
      DJICameraShutterSpeed11Camera's shutter speed 11.0 s.
      DJICameraShutterSpeed13Camera's shutter speed 13.0 s.
      DJICameraShutterSpeed15Camera's shutter speed 15.0 s.
      DJICameraShutterSpeed16Camera's shutter speed 16.0 s.
      DJICameraShutterSpeed20Camera's shutter speed 20.0 s.
      DJICameraShutterSpeed23Camera's shutter speed 23.0 s.
      DJICameraShutterSpeed25Camera's shutter speed 25.0 s.
      DJICameraShutterSpeed30Camera's shutter speed 30.0 s.
      DJICameraShutterSpeedUnknownCamera's shutter speed unknown.
      enum DJICameraISO
      typedef NS_ENUM (NSUInteger, DJICameraISO)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamISO
      Description:

      Camera ISO values.

      Enum Members:
      DJICameraISOAutoThe ISO value is automatically set. This cannot be used for all cameras when in Manual mode.
      DJICameraISO100The ISO value is set to 100.
      DJICameraISO200The ISO value is set to 200.
      DJICameraISO400The ISO value is set to 400.
      DJICameraISO800The ISO value is set to 800.
      DJICameraISO1600The ISO value is set to 1600.
      DJICameraISO3200The ISO value is set to 3200.
      DJICameraISO6400The ISO value is set to 6400.
      DJICameraISO12800The ISO value is set to 12800.
      DJICameraISO25600The ISO value is set to 25600.
      DJICameraISOFixedISO value is fixed by the camera firmware. When the camera color is set to DJICameraColorDLog, camera will fix the ISO to a specific value in order to optimize the performance. The value set by camera can be accessed from ISO.
      DJICameraISOUnknownThe ISO value is set to Unknown value.
      enum DJICameraAperture
      typedef NS_ENUM (NSUInteger, DJICameraAperture)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamAperture
      Description:

      Camera aperture values. X5, X5R, Z30, Phantom 4 Pro camera, X4S and X5S support this setting.

      Enum Members:
      DJICameraApertureF1Dot6The Aperture value is f/1.6. It is only supported by Z30 camera.
      DJICameraApertureF1Dot7The Aperture value is f/1.7.
      DJICameraApertureF1Dot8The Aperture value is f/1.8.
      DJICameraApertureF2The Aperture value is f/2.
      DJICameraApertureF2Dot2The Aperture value is f/2.2.
      DJICameraApertureF2Dot4The Aperture value is f/2.4. It is only supported by Z30 camera.
      DJICameraApertureF2Dot5The Aperture value is f/2.5.
      DJICameraApertureF2Dot6The Aperture value is f/2.6.
      DJICameraApertureF2Dot8The Aperture value is f/2.8.
      DJICameraApertureF3Dot2The Aperture value is f/3.2.
      DJICameraApertureF3Dot4The Aperture value is f/3.4.
      DJICameraApertureF3Dot5The Aperture value is f/3.5.
      DJICameraApertureF4The Aperture value is f/4.
      DJICameraApertureF4Dot5The Aperture value is f/4.5.
      DJICameraApertureF4Dot8The Aperture value is f/4.8.
      DJICameraApertureF5The Aperture value is f/5.
      DJICameraApertureF5Dot6The Aperture value is f/5.6.
      DJICameraApertureF6Dot3The Aperture value is f/6.3.
      DJICameraApertureF6Dot8The Aperture value is f/6.8.
      DJICameraApertureF7Dot1The Aperture value is f/7.1.
      DJICameraApertureF8The Aperture value is f/8.
      DJICameraApertureF9The Aperture value is f/9.
      DJICameraApertureF9Dot5The Aperture value is f/9.
      DJICameraApertureF9Dot6The Aperture value is f/9.6.
      DJICameraApertureF10The Aperture value is f/10.
      DJICameraApertureF11The Aperture value is f/11.
      DJICameraApertureF13The Aperture value is f/13.
      DJICameraApertureF14The Aperture value is f/14.
      DJICameraApertureF16The Aperture value is f/16.
      DJICameraApertureF18The Aperture value is f/18.
      DJICameraApertureF19The Aperture value is f/19.
      DJICameraApertureF20The Aperture value is f/20.
      DJICameraApertureF22The Aperture value is f/22.
      DJICameraApertureUnknownThe Aperture value is Unknown.
      enum DJICameraWhiteBalancePreset
      typedef NS_ENUM (NSUInteger, DJICameraWhiteBalancePreset)
      Header:DJICameraSettingsDef.h
      Description:

      Camera white balance. The default value is DJICameraWhiteBalanceAuto.

      Enum Members:
      DJICameraWhiteBalancePresetAutoThe camera's white balance is automatically set.
      DJICameraWhiteBalancePresetSunnyThe camera's white balance is set to sunny.
      DJICameraWhiteBalancePresetCloudyThe camera's white balance is set to cloudy.
      DJICameraWhiteBalancePresetWaterSurfaceThe camera's white balance is set to water surface.
      DJICameraWhiteBalancePresetIndoorIncandescentThe camera's white balance is set to indoors and incandescent light.
      DJICameraWhiteBalancePresetIndoorFluorescentThe camera's white balance is set to indoors and fluorescent light.
      DJICameraWhiteBalancePresetCustomThe camera's white balance is set to custom color temperature. By using this white balance value, user can set a specific value for the color temperature.
      DJICameraWhiteBalancePresetUnknownThe camera's white balance is unknown.
      DJICameraWhiteBalancePresetNeutralThe camera's white balance is set to neutral. It is only supported by the X7.
      enum DJICameraMeteringMode
      typedef NS_ENUM (NSUInteger, DJICameraMeteringMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamMeteringMode
      Description:

      Camera exposure metering. The default value is DJICameraMeteringModeCenter.

      Enum Members:
      DJICameraMeteringModeCenterThe camera's exposure metering is set to the center.
      DJICameraMeteringModeAverageThe camera's exposure metering is set to average.
      DJICameraMeteringModeSpotThe camera's exposure metering is set to a single spot.
      DJICameraMeteringModeUnknownThe camera's exposure metering is unknown.
      enum DJICameraExposureCompensation
      typedef NS_ENUM (NSUInteger, DJICameraExposureCompensation)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamExposureCompensation
      Description:

      Camera exposure compensation.

      Enum Members:
      DJICameraExposureCompensationN50The camera's exposure compensation is -5.0ev.
      DJICameraExposureCompensationN47The camera's exposure compensation is -4.7ev.
      DJICameraExposureCompensationN43The camera's exposure compensation is -4.3ev.
      DJICameraExposureCompensationN40The camera's exposure compensation is -4.0ev.
      DJICameraExposureCompensationN37The camera's exposure compensation is -3.7ev.
      DJICameraExposureCompensationN33The camera's exposure compensation is -3.3ev.
      DJICameraExposureCompensationN30The camera's exposure compensation is -3.0ev.
      DJICameraExposureCompensationN27The camera's exposure compensation is -2.7ev.
      DJICameraExposureCompensationN23The camera's exposure compensation is -2.3ev.
      DJICameraExposureCompensationN20The camera's exposure compensation is -2.0ev.
      DJICameraExposureCompensationN17The camera's exposure compensation is -1.7ev.
      DJICameraExposureCompensationN13The camera's exposure compensation is -1.3ev.
      DJICameraExposureCompensationN10The camera's exposure compensation is -1.0ev.
      DJICameraExposureCompensationN07The camera's exposure compensation is -0.7ev.
      DJICameraExposureCompensationN03The camera's exposure compensation is -0.3ev.
      DJICameraExposureCompensationN00The camera's exposure compensation is 0.0ev.
      DJICameraExposureCompensationP03The camera's exposure compensation is +0.3ev.
      DJICameraExposureCompensationP07The camera's exposure compensation is +0.7ev.
      DJICameraExposureCompensationP10The camera's exposure compensation is +1.0ev.
      DJICameraExposureCompensationP13The camera's exposure compensation is +1.3ev.
      DJICameraExposureCompensationP17The camera's exposure compensation is +1.7ev.
      DJICameraExposureCompensationP20The camera's exposure compensation is +2.0ev.
      DJICameraExposureCompensationP23The camera's exposure compensation is +2.3ev.
      DJICameraExposureCompensationP27The camera's exposure compensation is +2.7ev.
      DJICameraExposureCompensationP30The camera's exposure compensation is +3.0ev.
      DJICameraExposureCompensationP33The camera's exposure compensation is +3.3ev.
      DJICameraExposureCompensationP37The camera's exposure compensation is +3.7ev.
      DJICameraExposureCompensationP40The camera's exposure compensation is +4.0ev.
      DJICameraExposureCompensationP43The camera's exposure compensation is +4.3ev.
      DJICameraExposureCompensationP47The camera's exposure compensation is +4.7ev.
      DJICameraExposureCompensationP50The camera's exposure compensation is +5.0ev.
      DJICameraExposureCompensationFixedThe camera's exposure compensation is fixed by the camera.
      DJICameraExposureCompensationUnknownThe camera's exposure compensation is unknown.
      struct DJICameraExposureSettings
      typedef struct{
      DJICameraAperture aperture;
      DJICameraShutterSpeed shutterSpeed;
      NSUInteger ISO;
      DJICameraExposureCompensation exposureCompensation;
      true
      true
      trueNSUInteger EI;
      DJICameraExposureState exposureState;
      }DJICameraExposureSettings
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamExposureSettings
      Description:

      This class contains current values for some camera parameters related to exposure, which determines how sensitive the picture is to light and depends on the balance of the ISO value, the shutter speed, and the aperture value. When the camera is in different exposure modes, different parameters are automatically changed by the camera to either get the correct exposure (in Program, Shutter Priority and Aperture Priority modes), or report back the current exposure (in Manual mode). The current values of these parameters used by the camera are contained in this class.

      Struct Members:
      DJICameraAperture apertureThe current aperture value being used by the camera. A larger aperture results in a higher exposure and shallower depth of field. For cameras that do not support adjustable aperture (e.g. Zenmuse X3), the real aperture value is fixed.
      DJICameraShutterSpeed shutterSpeedThe current shutter speed being used by the camera. A slower shutter speed results in a higher exposure, but more blurring in areas of the scene that are moving.
      NSUInteger ISOThe current ISO value being used by the camera. DJICameraISO defines the number of the ISO values separated by one exposure stop. However, when the ISO is in automatic mode, the camera can select ISO values less than one stop apart, and therefore this property is the actual ISO value being used by the camera. A higher ISO results in a higher exposure, and more noise in the resulting image.
      DJICameraExposureCompensation exposureCompensationReturns the camera's current exposure compensation. In Program, Aperture Priority and Shutter Priority modes, the exposure compensation value changes the exposure target the camera is using to calculate correct exposure and is set by the user. For example, Aperture Priority mode indicates that the priority is to maintain the aperture setting and adjusting the exposure by varying the ISO and shutter speed. In Manual mode, this value is reported from the camera and reports how much the exposure needs to be compensated for to get to what the camera thinks is the correct exposure. In Manual mode, the range of exposure compensation reported by the camera is -2.0 EV to 2.0 EV. In Program, Aperture Priority and Shutter Priority modes, the range of exposure compensation is -3.0 EV to + 3.0 EV. For the Z30 camera in manual mode, exposureCompensation is not used and the value is always 'DJICameraExposureCompensationN00'.
      NSUInteger EIThe current EI (exposure index) value being used by the camera. The value is only valid when the exposure sensitivity mode is DJICameraExposureSensitivityModeEI.
      DJICameraExposureState exposureStateThe camera exposure state.
      enum DJICameraDisplayMode
      typedef NS_ENUM(NSUInteger, DJICameraDisplayMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamDisplayMode
      Description:

      Display modes to coordinate the video feeds from both the visual camera and the thermal camera. Only supported by XT2 camera and and Mavic 2 Enterprise Dual Camera.

      Enum Members:
      DJICameraDisplayModeVisualOnlyDisplays only the video feed from the visual camera.
      DJICameraDisplayModeThermalOnlyDisplays only the video feed from the thermal camera.
      DJICameraDisplayModePIPDisplays the video feed from the visual camera as the main subject, and the video from the thermal camera in a window not bigger than the main subject. The position of the thermal camera window can be adjusted with DJICameraPIPPosition. Not supported by Mavic 2 Enterprise Dual.
      DJICameraDisplayModeMSXMulti-Spectral Dynamic Imaging. Fuse the video feeds from both the visual camera and the thermal camera as one. Adds visible spectrum definition to IR images by detecting the edges of objects and including that detail in the thermal image.
      DJICameraDisplayModeUnknownThe thermal video feed display mode is unknown.
      enum DJICameraPIPPosition
      typedef NS_ENUM(NSUInteger, DJICameraPIPPosition)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamPIPPosition
      Description:

      Possible positions to place the window of the thermal camera video feed when the display mode is DJICameraDisplayModePIP. Only supported by XT2 camera and Mavic 2 Enterprise Dual Light Camera.

      Enum Members:
      DJICameraPIPPositionCenterPosition the window to the vertical center and the horizontal center.
      DJICameraPIPPositionBottomRightPosition the window to be bottom right.
      DJICameraPIPPositionCenterRightPosition the window to be centered on the right.
      DJICameraPIPPositionTopRightPosition the window to be top right.
      DJICameraPIPPositionBottomCenterPosition the window to be centered at bottom.
      DJICameraPIPPositionTopCenterPosition the window to be centered at top.
      DJICameraPIPPositionBottomLeftPosition the window to be bottom left.
      DJICameraPIPPositionCenterLeftPosition the window to be centered on the left.
      DJICameraPIPPositionTopLeftPosition the window to be top left.
      DJICameraPIPPositionSideBySidePosition the thermal window on the right side of the main window (the visual camera video feed). Scale both windows with the same height.
      DJICameraPIPPositionAlignPosition the thermal window on top of the main window (the visual camera video feed). Then align the object in the thermal window with the same object in the main window. The alignment offset can be adjusted by setDualFeedHorizontalAlignmentOffset:withCompletion and setDualFeedVerticalAlignmentOffset:withCompletion.
      DJICameraPIPPositionUnknownUnknown.
      struct DJICameraOpticalZoomSpec
      typedef struct {
      NSUInteger maxFocalLength;
      NSUInteger minFocalLength;
      NSUInteger focalLengthStep;
      }DJICameraOpticalZoomSpec
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamOpticalZoomSpec
      Description:

      Zoom lens profile. Includes focal length range and minimum focal length step. Supported by X5, X5R and X5S with zoom lens, Z3 camera and Z30 camera.

      Struct Members:
      NSUInteger maxFocalLengthThe maximum focal length of the lens in units of 0.1mm.
      NSUInteger minFocalLengthThe minimum focal length of the lens in units of 0.1mm.
      NSUInteger focalLengthStepThe minimum interval of focal length change in units of 0.1mm.
      enum DJICameraZoomDirection
      typedef NS_ENUM(uint8_t, DJICameraZoomDirection)
      Header:DJICameraSettingsDef.h
      Description:

      The direction to adjust the camera zoom (camera focal length). Supported by X5, X5R and X5S with zoom lens, Z3 camera and Z30 camera.

      Enum Members:
      DJICameraZoomDirectionZoomInLens will zoom in. The focal length increases, field of view becomes narrower and magnification is higher.
      DJICameraZoomDirectionZoomOutLens will zoom out. The focal length decreases, field of view becomes wider and magnification is lower.
      struct DJICameraHybridZoomSpec
      typedef struct {
      NSUInteger maxHybridFocalLength;
      NSUInteger minHybridFocalLength;
      NSUInteger maxOpticalFocalLength;
      NSUInteger focalLengthStep;
      }DJICameraHybridZoomSpec
      Header:DJICameraSettingsDef.h
      Description:

      Hybrid zoom lens profile. Includes focal length range and maximum optical focal length and minimum focal length step. Supported by Mavic 2 Zoom Camera and Mavic 2 Enterprise Camera.

      Struct Members:
      NSUInteger maxHybridFocalLengthThe maximum hybrid zoom focal length of the lens in units of 0.1mm.
      NSUInteger minHybridFocalLengthThe minimum hybrid zoom focal length of the lens in units of 0.1mm.
      NSUInteger maxOpticalFocalLengthThe maximum optical zoom focal length of the lens in units of 0.1mm.
      NSUInteger focalLengthStepThe minimum interval of focal length change in units of 0.1mm.
      enum DJICameraZoomSpeed
      typedef NS_ENUM(uint8_t, DJICameraZoomSpeed)
      Header:DJICameraSettingsDef.h
      Description:

      The speed of lens to zoom. The speed of lens to zoom. Supported by X5, X5R and X5S with zoom lens, Z3 camera and Z30 camera.

      Enum Members:
      DJICameraZoomSpeedSlowestLens zooms very in slowest speed.
      DJICameraZoomSpeedSlowLens zooms in slow speed.
      DJICameraZoomSpeedModeratelySlowLens zooms in speed slightly slower than normal speed.
      DJICameraZoomSpeedNormalLens zooms in normal speed.
      DJICameraZoomSpeedModeratelyFastLens zooms very in speed slightly faster than normal speed.
      DJICameraZoomSpeedFastLens zooms very in fast speed.
      DJICameraZoomSpeedFastestLens zooms very in fastest speed.
      enum DJICameraTapZoomState
      typedef NS_ENUM(uint8_t, DJICameraTapZoomState)
      Header:DJICameraSettingsDef.h
      Description:

      The state of the tap zoom action. Only supported by Z30 camera.

      Enum Members:
      DJICameraTapZoomStateIdleThe tap zoom is not triggered yet. It will always push DJICameraTapZoomStateIdle if camera is not zooming.
      DJICameraTapZoomStateZoomInThe camera is zooming in. The focal length increases, field of view becomes narrower and magnification is higher.
      DJICameraTapZoomStateZoomOutThe camera is zooming in the focal length decreases, field of view becomes wider and magnification is lower.
      DJICameraTapZoomStateZoomLimitedIt means the camera has reached its maximum focus length. It will always push DJICameraTapZoomStateZoomLimited if the camera reaches its maximum focus length.
      enum DJICameraFocusMode
      typedef NS_ENUM (NSUInteger, DJICameraFocusMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamFocusMode
      Description:

      Camera focus mode. It is settable only when isAdjustableFocalPointSupported returns YES and the physical AF switch on the camera is set to auto.

      Enum Members:
      DJICameraFocusModeManualThe camera's focus mode is set to manual. In this mode, user sets the focus ring value to adjust the focal distance.
      DJICameraFocusModeAutoThe camera's focus mode is set to auto. For the Z30 camera, the focus is calculated completely automatically. For all other cameras, a focus target can be set by the user, which is used to calculate focus automatically.
      DJICameraFocusModeAFCThe camera's focus mode is set to Continuous AF. It is only supported by Mavic Pro with firmware version V01.03.0000 or above, X4S camera, Mavic 2 Zoom camera and Mavic 2 Pro camera.
      DJICameraFocusModeUnknownThe camera's focus mode is unknown.
      enum DJICameraFocusStatus
      typedef NS_ENUM (NSUInteger, DJICameraFocusStatus)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamLensFocusStatus
      Description:

      The focusing status of the camera's lens.

      Enum Members:
      DJICameraFocusStatusIdleThe lens is idle. No focus target has been set.
      DJICameraFocusStatusFocusingThe lens is focusing on the target.
      DJICameraFocusStatusSuccessfulThe lens succeeded to focus on the target.
      DJICameraFocusStatusFailedThe lens failed to focus on the target. This happens when the target is too close, or the camera cannot distinguish the object to focus (e.g. a white wall).
      DJICameraFocusStatusUnknownThe lens focus status is unknown.
      enum DJICameraSensorCleaningState
      typedef NS_ENUM (NSUInteger, DJICameraSensorCleaningState)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamSensorCleaningState
      Description:

      The states of the sensor cleaning operation.

      Enum Members:
      DJICameraSensorCleaningStateIdleNot in sensor cleaning mode.
      DJICameraSensorCleaningStateInitiatingThe camera is initiating sensor cleaning mode.
      DJICameraSensorCleaningStateWaitingForLensRemovalRemove the lens from the camera to continue cleaning operation.
      DJICameraSensorCleaningStateReadyThe camera is ready to start the sensor cleaning. Call startSensorCleaningWithCompletion to start the operation.
      DJICameraSensorCleaningStateCleaningThe camera is executing sensor cleaning.
      DJICameraSensorCleaningStateFinishingThe sensor cleaning process is finishing. No action is required in this state and the state will change to DJICameraSensorCleaningStateWaitingForLensRemount automatically.
      DJICameraSensorCleaningStateWaitingForLensRemountThe sensor cleaning is finished and the camera is waiting for the lens to be remounted. When the lens is mounted, the state will change to DJICameraSensorCleaningStateIdle.
      DJICameraSensorCleaningStateUnknownUnknown.
      struct DJICameraFocusAssistantSettings
      typedef struct {
      BOOL isEnabledMF;
      BOOL isEnabledAF;
      } DJICameraFocusAssistantSettings
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamFocusAssistantSettings
      Description:

      Stores the focus settings

      Struct Members:
      BOOL isEnabledMFYES if the lens focus assistant is enabled for Manual Focusing.
      BOOL isEnabledAFYES if the lens focus assistant is enabled for Auto Focusing.
      enum DJICameraSDCardOperationState
      typedef NS_ENUM(NSUInteger, DJICameraSDCardOperationState)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamInternalStorageOperationState
      Description:

      Operation states of the camera's SD card.

      Enum Members:
      DJICameraSDCardOperationStateNormalThe SD card is in the normal state.
      DJICameraSDCardOperationStateNotInsertedThe SD card is not inserted.
      DJICameraSDCardOperationStateInvalidThe SD card is in invalid state.
      DJICameraSDCardOperationStateReadOnlyThe SD card is in read-only state and write operation is not allowed.
      DJICameraSDCardOperationFormatNeededIt is required to format the SD card before using it.
      DJICameraSDCardOperationStateFormattingThe SD card is being formatted.
      DJICameraSDCardOperationStateInvalidFileSystemThe SD card is using an invalid file system. Format the SD card before using it.
      DJICameraSDCardOperationStateBusyThe SD card is busy.
      DJICameraSDCardOperationStateFullThe SD card is full.
      DJICameraSDCardOperationStateSlowThe SD card is too slow.
      DJICameraSDCardOperationStateUnknownErrorThe SD card encounters an unknown error.
      DJICameraSDCardOperationStateNoRemainFileIndicesNo remaining file indices for any new photos or videos.
      DJICameraSDCardOperationStateInitializingThe SD card is in initializing state.
      DJICameraSDCardOperationStateFormatRecommendedIt is recommended to format the SD card before using it.
      DJICameraSDCardOperationStateRecoveringFilesThe camera is recovering the damaged files on the SD card.
      DJICameraSDCardOperationStateWritingSlowlyThe SD card is being written in a slow speed.
      enum DJICameraPhotoFileFormat
      typedef NS_ENUM (NSUInteger, DJICameraPhotoFileFormat)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamPhotoFileFormat
      Description:

      Camera photo file formats. The default value is DJICameraPhotoFileFormatJPEG.

      Enum Members:
      DJICameraPhotoFileFormatRAWThe camera's photo storage format is RAW.
      DJICameraPhotoFileFormatJPEGThe camera's photo storage format is JPEG.
      DJICameraPhotoFileFormatRAWAndJPEGThe camera stores both the RAW and JPEG formats of the photo.
      DJICameraPhotoFileFormatTIFF14BitThe camera's photo storage format is TIFF (14bit).
      DJICameraPhotoFileFormatRadiometricJPEGThe camera's photo storage format is Radiometric JPEG (a special JPEG format with temperature information). A radiometric JPEG has the .jpg suffix and can be viewed as a normal JPEG file would. At the same time, the temperature data is also stored in the file as meta data. PC software is required to analyze the file and it is accessible at FLIR's website http://www.flir.com/instruments/display/?id=54865. Only supported by XT camera with firmware version 1.16.1.70 or above.
      DJICameraPhotoFileFormatTIFF14BitLinearLowTempResolutionThe camera's photo storage format is TIFF Linear Low. In this mode each pixel is 14 bits and linearly proportional with temperature, covering a high dynamic range of temperature which results in a lower temperature resolution. Supported only by Zenmuse XT containing Advanced Radiometry capabilities with firmware version 1.17.1.80 or lower. For newer firmwares, the temperature resolution preference is coupled with the thermal gain mode.
      DJICameraPhotoFileFormatTIFF14BitLinearHighTempResolutionThe camera's photo storage format is TIFF Linear High. In this mode each pixel is 14 bits and linearly proportional with temperature, covering a low dynamic range of temperature which results in a higher temperature resolution. Supported only by Zenmuse XT containing Advanced Radiometry capabilities with firmware version 1.17.1.80 or lower. For newer firmwares, the temperature resolution preference is coupled with the thermal gain mode.
      DJICameraPhotoFileFormatUnknownThe camera's photo storage format is unknown.
      enum DJICameraPhotoAEBCount
      typedef NS_ENUM (NSUInteger, DJICameraPhotoAEBCount)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamPhotoAEBCount
      Description:

      The number of pictures to continuously take at one time in AEB mode. Use with DJICameraPhotoAEBParam.

      Enum Members:
      DJICameraPhotoAEBCount3The number of pictures to continuously take at one time in AEB mode is 3.
      DJICameraPhotoAEBCount5The number of pictures to continuously take at one time in AEB mode is 5.
      DJICameraPhotoAEBCount7The number of pictures to continuously take at one time in AEB mode is 7.
      DJICameraPhotoAEBCountUnknownThe number of pictures to continuously take at one time in AEB mode is unknown.
      enum DJICameraPhotoAspectRatio
      typedef NS_ENUM (NSUInteger, DJICameraPhotoAspectRatio)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamPhotoAspectRatio
      Description:

      Photo aspect ratio, where the first value is the width and the second value is the height. The default value is DJICameraPhotoAspectRatio4_3.

      Enum Members:
      DJICameraPhotoAspectRatio4_3The camera's photo ratio is 4 : 3.
      DJICameraPhotoAspectRatio16_9The camera's photo ratio is 16 : 9.
      DJICameraPhotoAspectRatio3_2The camera's photo ratio is 3:2. It is only supported by Phantom 4 Pro camera.
      DJICameraPhotoAspectRatioUnknownThe camera's photo ratio is unknown.
      enum DJICameraPhotoBurstCount
      typedef NS_ENUM (NSUInteger, DJICameraPhotoBurstCount)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamPhotoBurstCount, DJICameraKey.DJICameraParamPhotoRAWBurstCount
      Description:

      The number of photos taken in one burst shot (shooting photo in burst mode).

      Enum Members:
      DJICameraPhotoBurstCount2The camera burst shoot count is set to capture 2 pictures at once when the camera shoots a photo.
      DJICameraPhotoBurstCount3The camera burst shoot count is set to capture 3 pictures at once when the camera shoots a photo.
      DJICameraPhotoBurstCount5The camera burst shoot count is set to capture 5 pictures at once when the camera takes a photo.
      DJICameraPhotoBurstCount7The camera burst shoot count is set to capture 7 pictures at once when the camera takes a photo. It is not supported by Z30 camera.
      DJICameraPhotoBurstCount10The camera burst shoot count is set to capture 10 pictures at once when the camera takes a photo. Only supported by X4S camera, X5S camera and Phantom 4 Pro camera.
      DJICameraPhotoBurstCount14The camera burst shoot count is set to capture 14 pictures at once when the camera takes a photo. Only supported by X4S camera, X5S camera and Phantom 4 Pro camera.
      DJICameraPhotoBurstCountContinuousThe camera burst shoot count is set to capture RAW pictures continuously until stopShootPhotoWithCompletion command is sent. It is only supported by Inspire 2 when the photo shoot mode is RAW burst.
      DJICameraPhotoBurstCountUnknownThe camera burst shoot count value is unknown.
      enum DJICameraPhotoTimeLapseFileFormat
      typedef NS_ENUM (NSUInteger, DJICameraPhotoTimeLapseFileFormat)
      Header:DJICameraSettingsDef.h
      Description:

      File format for camera when it is in time-lapse mode. The default file format is video. If video+JPEG is selected the minimum interval will be 2 seconds.

      Enum Members:
      DJICameraPhotoTimeLapseFileFormatVideoThe camera in time-lapse mode will generate video.
      DJICameraPhotoTimeLapseFileFormatJPEGAndVideoThe camera in time-lapse mode will generate video and JPEG.
      DJICameraPhotoTimeLapseFileFormatUnknownThe file format is unknown.
      struct DJICameraPhotoTimeIntervalSettings
      typedef struct
      {
      uint8_t captureCount;
      uint16_t timeIntervalInSeconds;
      } DJICameraPhotoTimeIntervalSettings
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamPhotoTimeIntervalSettings
      Description:

      Sets the number of pictures, and sets the time interval between pictures for the Interval shoot photo mode.

      Struct Members:
      uint8_t captureCountThe number of photos to capture. The value range is [2, 255]. If 255 is selected, then the camera will continue to take pictures until stopShootPhotoWithCompletion is called. For thermal imaging camera and Z30 camera, it can only be set to 255.
      uint16_t timeIntervalInSecondsThe time interval between when two photos are taken. The range for this parameter depends the photo file format(DJICameraPhotoFileFormat). For XT camera, the range is [1, 60] seconds. For all other products, when the file format is JPEG, the range is [2, 2^16 - 1] seconds; when the file format is RAW or RAW+JPEG, the range is [10, 2^16 - 1] seconds.
      struct DJICameraPhotoTimeLapseSettings
      typedef struct {
      NSUInteger interval;
      NSUInteger duration;
      DJICameraPhotoTimeLapseFileFormat fileFormat;
      } DJICameraPhotoTimeLapseSettings
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamPhotoTimeLapseSettings
      Description:

      Stores the time lapse settings.

      Struct Members:
      NSUInteger intervalThe time interval between when two photos are taken.
      NSUInteger durationThe total duration for which the camera will take pictures.
      DJICameraPhotoTimeLapseFileFormat fileFormatThe file format for captured photos during time lapse.
      enum DJICameraPhotoPanoramaMode
      typedef NS_ENUM(NSUInteger, DJICameraPhotoPanoramaMode)
      Header:DJICameraSettingsDef.h
      Description:

      Panorama photo modes.

      Enum Members:
      DJICameraPhotoPanoramaMode3x3Camera will shoot 3 rows of 3 photos. Each photo in a row will be taken with a different aircraft heading. Each row of photos is taken with a different gimbal pitch.
      DJICameraPhotoPanoramaMode3x1Camera will shoot 3 photos with the same aircraft heading and different gimbal pitch.
      DJICameraPhotoPanoramaModeSphereCamera will shoot 8 rows of 3 photos and 1 extra photo (facing downward). Each photo in a row will be taken with a different aircraft heading. Each row of photos is taken with a different gimbal pitch.
      DJICameraPhotoPanoramaMode180Camera will shoot 3 photos with the same gimbal pitch (facing forward) and different aircraft headings.
      DJICameraPhotoPanoramaModeSuperResolutionThe camera will capture and patch nine photos resulting in a 48-megapixel super resolution photo. It is only supported by Mavic 2 Zoom.
      DJICameraPhotoPanoramaModeUnknownUnknown.
      enum DJICameraVideoFileFormat
      typedef NS_ENUM (NSUInteger, DJICameraVideoFileFormat)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamVideoFileFormat
      Description:

      Video storage formats.

      Enum Members:
      DJICameraVideoFileFormatMOVThe video storage format is MOV.
      DJICameraVideoFileFormatMP4The video storage format is MP4.
      DJICameraVideoFileFormatTIFFSequenceThe video storage format is TIFF Sequence.
      DJICameraVideoFileFormatSEQThe video storage format is SEQ. The raw data from the infrared camera is stored.
      DJICameraVideoFileFormatUnknownThe video storage format is unknown.
      enum DJICameraVideoResolution
      typedef NS_ENUM (NSUInteger, DJICameraVideoResolution)
      Header:DJICameraSettingsDef.h
      Description:

      Camera video resolution values. The resolutions available for a product are in videoResolutionAndFrameRateRange.

      Enum Members:
      DJICameraVideoResolution336x256The camera's video resolution is 336x256.
      DJICameraVideoResolution640x360The camera's video resolution is 640x360. Supported by Mavic 2 Enterprise Dual thermal camera.
      DJICameraVideoResolution640x480The camera's video resolution is 640x480.
      DJICameraVideoResolution640x512The camera's video resolution is 640x512.
      DJICameraVideoResolution1280x720The camera's video resolution is 1280x720.
      DJICameraVideoResolution1920x1080The camera's video resolution is 1920x1080.
      DJICameraVideoResolution2704x1520The camera's video resolution is 2704x1520.
      DJICameraVideoResolution2720x1530The camera's video resolution is 2720x1530.
      DJICameraVideoResolution3712x2088The camera's video resolution is 3712x2088. It's only used by X7 camera.
      DJICameraVideoResolution3840x1572The camera's video resolution is 3840x1572.
      DJICameraVideoResolution3840x2160The camera's video resolution is 3840x2160.
      DJICameraVideoResolution3944x2088The camera's video resolution is 3944x2088. It's only used by X7 camera.
      DJICameraVideoResolution4096x2160The camera's video resolution is 4096x2160.
      DJICameraVideoResolution4608x2160The camera's video resolution is 4608x2160.
      DJICameraVideoResolution4608x2592The camera's video resolution is 4608x2592.
      DJICameraVideoResolution5280x2160The camera's video resolution is 5280x2160.
      DJICameraVideoResolution5760x3240The camera's video resolution is 5760x3240.
      DJICameraVideoResolution6016x3200The camera's video resolution is 6016x3200.
      DJICameraVideoResolutionMaxThe camera's video resolution will be maximum resolution supported by the camera sensor. For X5S and X4S, the maximum resolution is 5280x2972.
      DJICameraVideoResolutionNoSSDVideoThe camera's SSD video resolution is unset. When the SSD resolution is unset, camera will not store video to SSD. SSD's resolution is determined by both license key and SD card's video frame rate. If there is no supported resolution with the current configuration, DJICameraVideoResolutionUnset will be selected and user should adjust either the license or the frame rate.
      DJICameraVideoResolution2048x1080The camera's video resolution is 2048x1080.
      DJICameraVideoResolution2688x1512The camera's video resolution is 2688x1512.
      DJICameraVideoResolution5280x2972The camera's video resolution is 5280x2972.
      DJICameraVideoResolutionUnknownThe camera's video resolution is unknown.
      enum DJICameraVideoFrameRate
      typedef NS_ENUM (NSUInteger, DJICameraVideoFrameRate)
      Header:DJICameraSettingsDef.h
      Description:

      Camera video frame rate values. The frame rates available for a product are in videoResolutionAndFrameRateRange.

      Enum Members:
      DJICameraVideoFrameRate23dot976FPSThe camera's video frame rate is 23.976fps (frames per second).
      DJICameraVideoFrameRate24FPSThe camera's video frame rate is 24fps (frames per second).
      DJICameraVideoFrameRate25FPSThe camera's video frame rate is 25fps (frames per second).
      DJICameraVideoFrameRate29dot970FPSThe camera's video frame rate is 29.97fps (frames per second).
      DJICameraVideoFrameRate30FPSThe camera's video frame rate is 30fps (frames per second).
      DJICameraVideoFrameRate47dot950FPSThe camera's video frame rate is 47.95fps (frames per second).
      DJICameraVideoFrameRate48FPSThe camera's video frame rate is 48fps (frames per second).
      DJICameraVideoFrameRate50FPSThe camera's video frame rate is 50fps (frames per second).
      DJICameraVideoFrameRate59dot940FPSThe camera's video frame rate is 59.94fps (frames per second).
      DJICameraVideoFrameRate60FPSThe camera's video frame rate is 60fps (frames per second).
      DJICameraVideoFrameRate90FPSThe camera's video frame rate is 90fps (frames per second).
      DJICameraVideoFrameRate96FPSThe camera's video frame rate is 96fps (frames per second).
      DJICameraVideoFrameRate100FPSThe camera's video frame rate is 100fps (frames per second). This frame rate can only be used when isSlowMotionSupported returns YES.
      DJICameraVideoFrameRate120FPSThe camera's video frame rate is 120fps (frames per second). This frame rate can only be used when isSlowMotionSupported returns YES.
      DJICameraVideoFrameRate8dot7FPSThe camera's video frame rate is 8.7fps (frames per second). Supported by Mavic 2 Enterprise Dual thermal camera.
      DJICameraVideoFrameRateUnknownThe camera's video frame rate is unknown.
      enum DJICameraVideoFOV
      typedef NS_ENUM (NSUInteger, DJICameraVideoFOV)
      Header:DJICameraSettingsDef.h
      Description:

      FOV (field-of-view) to use for recording a video.

      Enum Members:
      DJICameraVideoFOVDefaultThe default FOV. Use this value if the FOV is not configurable for the camera.
      DJICameraVideoFOVNarrowUse a narrow FOV to record videos.
      DJICameraVideoFOVWideUse a wide FOV to record videos.
      DJICameraVideoFOVUnknownUNKNOWN
      enum DJICameraVideoStandard
      typedef NS_ENUM (NSUInteger, DJICameraVideoStandard)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamVideoStandard
      Description:

      Video standard values. The default value is NTSC.

      Enum Members:
      DJICameraVideoStandardPALThe camera video standard value is set to PAL.
      DJICameraVideoStandardNTSCThe camera video standard value is set to NTSC.
      DJICameraVideoStandardUnknownThe camera video standard value is unknown.
      enum DJIVideoFileCompressionStandard
      typedef NS_ENUM(NSUInteger, DJIVideoFileCompressionStandard)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamVideoFileCompressionStandard
      Description:

      The compression standard used to store the video files. It is only supported X4S, X5S and Phantom 4 Pro cameras.

      Enum Members:
      DJIVideoFileCompressionStandardH264H.264 compression standard.
      DJIVideoFileCompressionStandardH265H.265 compression standard.
      DJIVideoFileCompressionStandardUnknownUnknown.
      enum DJICameraSSDVideoLicense
      typedef NS_ENUM (NSUInteger, DJICameraSSDVideoLicense)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamSSDRAWLicense
      Description:

      DJI camera's license keys. An Inspire 2 License Key activates the usage permission of CinemaDNG or Apple ProRes inside CineCore 2.0. License keys are obtained by by purchase from the DJI store website using the Inspire 2 serial number. The Inspire 2 is then connected to DJI Assistant 2, and the license keys downloaded to it. It is only supported X5S and X7 cameras.

      Enum Members:
      DJICameraSSDVideoLicenseCinemaDNGCinemaDNG.
      DJICameraSSDVideoLicenseProRes422HQApple ProRes 422 HQ.
      DJICameraSSDVideoLicenseProRes4444XQApple ProRes 4444 XQ(no alpha).
      DJICameraSSDVideoLicenseUnknownUnknown.
      enum DJICameraSSDLegacyColor
      typedef NS_ENUM (NSUInteger, DJICameraSSDLegacyColor)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamSSDLegacyColor
      Description:

      The legacy camera color for videos that will be stored in SSD. The default value is DJICameraSSDLegacyColorNone. It is only supported Inspire 2 with firmware package versions lower than 01.0.0240.

      Enum Members:
      DJICameraSSDLegacyColorNoneThe camera color is set to none. It is only supported by X5S on Inspire 2.
      DJICameraSSDLegacyColorDCinelikeThe camera color is set to DCinelike. It is only supported by X5S on Inspire 2.
      DJICameraSSDLegacyColorDLogThe camera color is set to DLog. It is only supported by X5S on Inspire 2.
      DJICameraSSDLegacyColorDColor1The camera color is set to DColor1. It is only supported by X5S on Inspire 2.
      DJICameraSSDLegacyColorDColor2The camera color is set to DColor2. It is only supported by X5S on Inspire 2.
      DJICameraSSDLegacyColorDColor3The camera color is set to DColor3. It is only supported by X5S on Inspire 2.
      DJICameraSSDLegacyColorUnknownThe camera color is unknown.
      enum DJICameraSSDColor
      typedef NS_ENUM (NSUInteger, DJICameraSSDColor)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamSSDColor
      Description:

      Camera colors for videos that will be stored in SSD. It is only supported Inspire 2 with the firmware package version 01.0.0240 or later.

      Enum Members:
      DJICameraSSDColorStandardStandard. It is available when the camera is in ISO mode and the SSD license is DJICameraSSDVideoLicenseProRes422HQ or DJICameraSSDVideoLicenseProRes4444XQ.
      DJICameraSSDColorDLogD-Log. It is available when the camera is in EI mode and the SSD license is DJICameraSSDVideoLicenseProRes422HQ or DJICameraSSDVideoLicenseProRes4444XQ.
      DJICameraSSDColorRec709Rec.709. It is available when the camera is in EI mode and the SSD license is DJICameraSSDVideoLicenseProRes422HQ or DJICameraSSDVideoLicenseProRes4444XQ.
      DJICameraSSDColorCineLikeCine-like. It is available when the camera is in ISO mode and the SSD license is DJICameraSSDVideoLicenseProRes422HQ or DJICameraSSDVideoLicenseProRes4444XQ.
      DJICameraSSDColorRawColorRaw color. This is the only for DJICameraSSDVideoLicenseCinemaDNG.
      DJICameraSSDColorUnknownUnknown.
      enum DJICameraExposureSensitivityMode
      typedef NS_ENUM (NSUInteger, DJICameraExposureSensitivityMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamExposureSensitivityMode
      Description:

      The exposure sensitivity modes.

      Enum Members:
      DJICameraExposureSensitivityModeISOISO mode.
      DJICameraExposureSensitivityModeEIEI (exposure index) mode. In this mode, the camera mimics the way a film camera works to help cinematographers capture as much information as possible while balancing the dynamic range and noise with different log curves. This mode only takes effect when the camera mode is in DJICameraModeRecordVideo.
      DJICameraExposureSensitivityModeUnknownUnknown.
      enum DJICameraAntiFlickerFrequency
      typedef NS_ENUM (NSUInteger, DJICameraAntiFlickerFrequency)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamAntiFlickerFrequency
      Description:

      Camera anti-flickers. The default value is DJICameraAntiFlickerFrequency50Hz.

      Enum Members:
      DJICameraAntiFlickerFrequencyAutoThe camera's anti-flicker is automatically set. It is not supported by Z30 camera.
      DJICameraAntiFlickerFrequency60HzThe camera's anti-flicker is 60 Hz.
      DJICameraAntiFlickerFrequency50HzThe camera's anti-flicker is 50 Hz.
      DJICameraAntiFlickerFrequencyDisabledThe anti-flicker is disabled. Only supported by Mavic Air.
      DJICameraAntiFlickerFrequencyUnknownThe camera's anti-flicker is unknown.
      enum DJICameraExposureState
      typedef NS_ENUM(NSUInteger, DJICameraExposureState)
      Header:DJICameraSettingsDef.h
      Description:

      Camera exposure state.

      Enum Members:
      DJICameraExposureStateNormalThe camera exposure state is normal.
      DJICameraExposureStateUnderexposedThe camera exposure state is underexposed.
      DJICameraExposureStateOverexposedThe camera exposure state is overexposed.
      DJICameraExposureStateUnknownThe camera exposure state is unknown.
      enum DJICameraSSDOperationState
      typedef NS_ENUM (NSUInteger, DJICameraSSDOperationState)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamSSDOperationState
      Description:

      Solid State Drive (SSD) State.

      Enum Members:
      DJICameraSSDOperationStateNotFoundSSD is not found.
      DJICameraSSDOperationStateIdleSSD is idle.
      DJICameraSSDOperationStateSavingSSD is Saving.
      DJICameraSSDOperationStateFormattingSSD is formatting.
      DJICameraSSDOperationStateInitializingSSD is initializing.
      DJICameraSSDOperationStateErrorSSD validation error.
      DJICameraSSDOperationStateFullSSD is full.
      DJICameraSSDOperationStatePoorConnectionCommunication to SSD is not stable. User can re-plugin SSD. It is supported by X5S.
      DJICameraSSDOperationStateSwitchingLicenseSSD is switching the license key. It is supported by X5S.
      DJICameraSSDOperationStateFormattingRequiredFormatting is required. It is supported by X5S.
      DJICameraSSDOperationStateNotInitializedNot initialized yet. It is supported by X7.
      DJICameraSSDOperationStateInvalidFileSystemThe file system is not supported. It is supported by X7.
      DJICameraSSDOperationStateUnknownSSD state is unknown. This happens in the first 2 seconds after turning the camera power on as during this time the camera cannot check the state of the SSD.
      enum DJICameraSSDCapacity
      typedef NS_ENUM (NSUInteger, DJICameraSSDCapacity)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamSSDTotalSpace
      Description:

      Solid State Drive (SSD) Capacity.

      Enum Members:
      DJICameraSSDCapacity256GBSSD capacity is 256G.
      DJICameraSSDCapacity512GBSSD capacity is 512G.
      DJICameraSSDCapacity1TBSSD capacity is 1T.
      DJICameraSSDCapacityUnknownSSD capacity is unknown.
      enum DJICameraFileIndexMode
      typedef NS_ENUM (NSUInteger, DJICameraFileIndexMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamFileIndexMode
      Description:

      File index modes.

      Enum Members:
      DJICameraFileIndexModeResetCamera will reset the newest file's index to be one larger than the largest number of photos taken on the SD card.
      DJICameraFileIndexModeSequenceCamera will set the newest file's index to the larger of either the maximum number of photos taken on the SD card or the camera.
      DJICameraFileIndexModeUnknownThe mode is unknown.
      enum DJICameraNDFilterMode
      typedef NS_ENUM (NSUInteger, DJICameraNDFilterMode)
      Header:DJICameraSettingsDef.h
      Description:

      Modes of ND filter.

      Enum Members:
      DJICameraNDFilterModeAutoAuto. ND filter will be enabled or disabled automatically by the camera.
      DJICameraNDFilterModeOnThe ND filter is on.
      DJICameraNDFilterModeOffThe ND filter is off.
      DJICameraNDFilterModeUnknownUnknown.
      enum DJICameraCustomSettingsProfile
      typedef NS_ENUM (NSUInteger, DJICameraCustomSettingsProfile)
      Header:DJICameraSettingsDef.h
      Description:

      Camera user settings. A user can save or load camera settings to or from the specified user.

      Enum Members:
      DJICameraCustomSettingsProfileDefaultDefault user.
      DJICameraCustomSettingsProfile1Settings for user 1.
      DJICameraCustomSettingsProfile2Settings for user 2.
      DJICameraCustomSettingsProfile3Settings for user 3.
      DJICameraCustomSettingsProfile4Settings for user 4.
      DJICameraCustomSettingsProfileUnknownThe user is unknown.
      enum DJICameraColor
      typedef NS_ENUM (NSUInteger, DJICameraColor)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamColor
      Description:

      Camera color. The default value is DJICameraColorNone. Z30 camera only supports DJICameraColorNone, DJICameraColorBlackAndWhite and DJICameraColorInverse.

      Enum Members:
      DJICameraColorNoneThe camera color is set to none or no filter.
      DJICameraColorArtThe camera color is set to art.
      DJICameraColorBlackAndWhiteThe camera color is set to black and white.
      DJICameraColorBrightThe camera color is set to bright.
      DJICameraColorDCinelikeThe camera color is set to D-Cinelike (called movie before).
      DJICameraColorPortraitThe camera color is set to portrait. Only supported by Osmo with X3 camera.
      DJICameraColorM31The camera color is set to M31.
      DJICameraColorkDXThe camera color is set to kDX.
      DJICameraColorPrismoThe camera color is set to prismo.
      DJICameraColorJugoThe camera color is set to jugo.
      DJICameraColorDLogThe camera color is set to D-Log (called neutral before). For Mavic 2 Pro, setting to this color can enable 10-bit DLog-M color profile.
      DJICameraColorTrueColorThe camera color is set to true color. It is only supported by Phantom 4 with firmware v1.2.503 or above.
      DJICameraColorInverseThe camera color is set to inverse.
      DJICameraColorReminiscenceThe camera color is set to reminiscence.
      DJICameraColorSolarizeThe camera color is set to solarize.
      DJICameraColorPosterizeThe camera color is set to posterize.
      DJICameraColorWhiteboardThe camera color is set to whiteboard.
      DJICameraColorBlackboardThe camera color is set to blackboard.
      DJICameraColorAquaThe camera color is set to aqua.
      DJICameraColorDeltaThe camera color is set to delta.
      DJICameraColorDK79The camera color is set to dk79.
      DJICameraColorVision4The camera color is set to vision4.
      DJICameraColorVision6The camera color is set to vision6.
      DJICameraColorTrueColorExtThe camera color is set to true color extend.
      DJICameraColorFilmAThe camera color is set to Film A.
      DJICameraColorFilmBThe camera color is set to Film B.
      DJICameraColorFilmCThe camera color is set to Film C.
      DJICameraColorFilmDThe camera color is set to Film D.
      DJICameraColorFilmEThe camera color is set to Film E.
      DJICameraColorFilmFThe camera color is set to Film F.
      DJICameraColorFilmGThe camera color is set to Film G.
      DJICameraColorFilmHThe camera color is set to Film H.
      DJICameraColorFilmIThe camera color is set to Film I.
      DJICameraColorHLGThe camera color is set to HLG (Hybrid Log-Gamma).
      DJICameraColorUnknownThe camera color is unknown.
      enum DJICameraEIColor
      typedef NS_ENUM (NSUInteger, DJICameraEIColor)
      Header:DJICameraSettingsDef.h
      Description:

      Camera colors for EI mode.

      Enum Members:
      DJICameraEIColorDLogThe EI color is set to D-Log.
      DJICameraEIColorRec709The EI color is set to Rec.709.
      DJICameraEIColorUnknownUnknown.
      enum DJIDownloadFileType
      typedef NS_ENUM (NSUInteger, DJIDownloadFileType)
      Header:DJICameraSettingsDef.h
      Description:

      Download file types. This typedef is supported by Phantom 3 Professional camera, X3, X5 and X5R cameras on aircraft and Phantom 4 camera.

      Enum Members:
      DJIDownloadFileTypePhotoThe file to be download is a photo file type.
      DJIDownloadFileTypeRAWDNGThe file to be downloaded is a RAW type in DNG format.
      DJIDownloadFileTypeVideo720PThe file to be downloaded is a video file in 720P.
      DJIDownloadFileTypeVideo1080PThe file to be downloaded is a video file in 1080P.
      DJIDownloadFileTypeVideo4KThe file to be downloaded is a video file in 4K.
      DJIDownloadFileTypeUnknownThe file to be downloaded is unknown.
      enum DJICameraOrientation
      typedef NS_ENUM(NSUInteger, DJICameraOrientation)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamOrientation
      Description:

      Physical orientation of the camera.

      Enum Members:
      DJICameraOrientationLandscapeBy default, the camera is in landscape orientation.
      DJICameraOrientationPortraitThe camera is in the portrait orientation, which is rotated 90 degrees in the clockwise direction from the default landscape orientation.
      DJICameraOrientationUnknownUnknown.
      enum DJICameraPictureStylePresetType
      typedef NS_ENUM(NSUInteger, DJICameraPictureStylePresetType)
      Header:DJICameraSettingsDef.h
      Description:

      Camera preset type, a combine of Saturation, Contrast, Sharpness.

      Enum Members:
      DJICameraPictureStylePresetTypeStandardSaturation 0, Contrast 0, Sharpness 0.
      DJICameraPictureStylePresetTypeLandscapeSaturation 0, Contrast 1, Sharpness 1.
      DJICameraPictureStylePresetTypeSoftSaturation 0, Contrast 0, Sharpness -1.
      DJICameraPictureStylePresetTypeCustomCustom preset type
      DJICameraPictureStylePresetTypeUnknownUnknown preset type
      enum DJICameraTemperatureUnit
      typedef NS_ENUM(NSUInteger, DJICameraTemperatureUnit)
      Header:DJICameraSettingsDef.h
      Description:

      The temperature units.

      Enum Members:
      DJICameraTemperatureUnitFahrenheitUse degree Fahrenheit as the unit.
      DJICameraTemperatureUnitCelsiusUse degree Celsius as the unit.
      DJICameraTemperatureUnitUnknownUnknown.
      struct DJICameraPictureStylePreset
      typedef struct{
      NSInteger saturation;
      NSInteger contrast;
      NSInteger sharpness;
      DJICameraPictureStylePresetType presetType;
      }DJICameraPictureStylePreset
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamPictureStylePreset
      Description:

      Camera preset type that stores saturation, contrast and sharpness

      Struct Members:
      NSInteger saturationAn NSInteger value of saturation.
      NSInteger contrastAn NSInteger value of contrast.
      NSInteger sharpnessAn NSInteger value of sharpness.
      DJICameraPictureStylePresetType presetTypeAn enum value of DJICameraPictureStylePresetType.
      enum DJICameraStorageLocation
      typedef NS_ENUM (NSUInteger, DJICameraStorageLocation)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamStorageLocation
      Description:

      Different storage locations supported by the camera.

      Enum Members:
      DJICameraStorageLocationSDCardSD card.
      DJICameraStorageLocationInternalStorageThe internal storage embedded in the aircraft. When it is available, the camera can shoot photos or record videos without SD card. It is only supported by Mavic Air.
      DJICameraStorageLocationUnknownUnknown.
      SSD Clip File Name
      class
      Original Photo Settings
      class
      Watermark Settings
      class
      enum DJICameraThermalROI
      typedef NS_ENUM(NSUInteger, DJICameraThermalROI)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalROI
      Description:

      Region of interest. Use this feature to manage color range distribution across the screen to maximize contrast for regions of highest interest.

      Enum Members:
      DJICameraThermalROIFullCauses the color spectrum to be evenly distributed across the entire image depending the default settings.
      DJICameraThermalROISkyExcluded33Ignores areas of the sky 33% so that most of the spectrum can be allocated to remaining areas, providing higher contrast and utility for analysis.
      DJICameraThermalROISkyExcluded50Ignores areas of the sky 50% so that most of the spectrum can be allocated to remaining areas, providing higher contrast and utility for analysis.
      DJICameraThermalROIUnknownThe ROI type is unknown.
      enum DJICameraThermalPalette
      typedef NS_ENUM(NSUInteger, DJICameraThermalPalette)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalPalette
      Description:

      The different colors are used to show various temperatures in the thermal imagery image. The colors are not actually related to wavelengths of light, but rather the grayscale intensity.

      Enum Members:
      DJICameraThermalPaletteWhiteHotWithout Isotherm enabled, the Palette type is WhiteHot. With Isotherm enabled, the Palette type is WhiteHotIso.
      DJICameraThermalPaletteBlackHotWithout Isotherm enabled, the Palette type is BlackHot. With Isotherm enabled, the Palette type is BlackHotIso.
      DJICameraThermalPaletteRedHotWithout Isotherm enabled, the Palette type is RedHot. With Isotherm enabled, the Palette type is RedHotIso.
      DJICameraThermalPaletteGreenHotWithout Isotherm enabled, the Palette type is GreenHot. With Isotherm enabled, the Palette type is GreenHotIso.
      DJICameraThermalPaletteFusionWithout Isotherm enabled, the Palette type is Fusion. With Isotherm enabled, the Palette type is FusionIso.
      DJICameraThermalPaletteRainbowWithout Isotherm enabled, the Palette type is Rainbow. With Isotherm enabled, the Palette type is RainbowIso.
      DJICameraThermalPaletteIronbow1Without Isotherm enabled, the Palette type is Ironbow1. With Isotherm enabled, the Palette type is IronbowWHIso.
      DJICameraThermalPaletteIronbow2Without Isotherm enabled, the Palette type is Ironbow2. With Isotherm enabled, the Palette type is IronbowBHIso.
      DJICameraThermalPaletteIceFireWithout Isotherm enabled, the Palette type is IceFire. With Isotherm enabled, the Palette type is IceFireIso.
      DJICameraThermalPaletteSepiaWithout Isotherm enabled, the Palette type is Sepia. With Isotherm enabled, the Palette type is SepiaIso.
      DJICameraThermalPaletteGlowbowWithout Isotherm enabled, the Palette type is Glowbow. With Isotherm enabled, the Palette type is GlowbowIso.
      DJICameraThermalPaletteColor1Without Isotherm enabled, the Palette type is Color1. With Isotherm enabled, the Palette type is MidRangeWHIso.
      DJICameraThermalPaletteColor2Without Isotherm enabled, the Palette type is Color2. With Isotherm enabled, the Palette type is MidRangeBHIso.
      DJICameraThermalPaletteRainWithout Isotherm enabled, the Palette type is Rain. With Isotherm enabled, the Palette type is RainbowHCIso.
      DJICameraThermalPaletteHotSpotWithout Isotherm enabled, the Palette type is HotSpot. With Isotherm enabled, the Palette type is HotSpotIso. Only supported by Mavic 2 Enterprise Dual.
      DJICameraThermalPaletteRainbow2Without Isotherm enabled, the Palette type is Rainbow2. With Isotherm enabled, the Palette type is Rainbow2Iso. Only supported by Mavic 2 Enterprise Dual.
      DJICameraThermalPaletteGrayWithout Isotherm enabled, the Palette type is Gray. With Isotherm enabled, the Palette type is GrayIso. Only supported by Mavic 2 Enterprise Dual.
      DJICameraThermalPaletteHotMetalWithout Isotherm enabled, the Palette type is HotMetal. With Isotherm enabled, the Palette type is HotMetalIso. Only supported by Mavic 2 Enterprise Dual.
      DJICameraThermalPaletteColdSpotWithout Isotherm enabled, the Palette type is ColdSpot. With Isotherm enabled, the Palette type is ColdSpotIso. Only supported by Mavic 2 Enterprise Dual.
      DJICameraThermalPaletteUnknownThe palette type is unknown.
      enum DJICameraThermalScene
      typedef NS_ENUM(NSUInteger, DJICameraThermalScene)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalScene
      Description:

      Uses the Scene option to instantly enhance your image.

      Enum Members:
      DJICameraThermalSceneLinearLinearly transforms the 14-bit sensor pixel data to 8-bit JPEG/MP4 pixel data.
      DJICameraThermalSceneDefaultAutomatically adjusts DDE, ACE, SSO, brightness and contrast.
      DJICameraThermalSceneSeaSkyAutomatically adjusts DDE, ACE, SSO, brightness and contrast with presets optimized for scenes composed of the sea and the sky scenes.
      DJICameraThermalSceneOutdoorAutomatically adjusts DDE, ACE, SSO, brightness and contrast with presets optimized for outdoor scenes.
      DJICameraThermalSceneIndoorAutomatically adjusts DDE, ACE, SSO, brightness and contrast with presets optimized for indoor scenes.
      DJICameraThermalSceneManualAllows manual setting of DDE, ACE, SSO, brightness and contrast.
      DJICameraThermalSceneProfile1First saved settings of DDE, ACE, SSO, brightness and contrast.
      DJICameraThermalSceneProfile2Second saved settings of DDE, ACE, SSO, brightness and contrast.
      DJICameraThermalSceneProfile3Third saved settings of DDE, ACE, SSO, brightness and contrast.
      DJICameraThermalSceneUnknownThe Scene type is unknown.
      enum DJICameraThermalIsothermUnit
      typedef NS_ENUM(NSUInteger, DJICameraThermalIsothermUnit)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalIsothermUnit
      Description:

      The unit for Isotherm.

      Enum Members:
      DJICameraThermalIsothermUnitPercentageThe unit type is percentage. The allowed range is [0, 100].
      DJICameraThermalIsothermUnitCelsiusThe unit type is degrees Celsius. The allowed range is [-40, 1000].
      DJICameraThermalIsothermUnitUnknownThe unit type is unknown.
      enum DJICameraThermalGainMode
      typedef NS_ENUM(NSUInteger, DJICameraThermalGainMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalGainMode
      Description:

      The gain mode.

      Enum Members:
      DJICameraThermalGainModeAutoThe camera will automatically select the optimal gain mode according to the temperature range of the image.
      DJICameraThermalGainModeLowThe camera covers a wider temperature range but is less sensitive to temperature differences.
      DJICameraThermalGainModeHighThe camera covers a smaller temperature range but is more sensitive to temperature differences.
      DJICameraThermalGainModeUnknownThe gain mode is unknown.
      enum DJICameraThermalResolution
      typedef NS_ENUM(NSUInteger, DJICameraThermalResolution)
      Header:DJICameraSettingsDef.h
      Description:

      The resolution of thermal imaging camera.

      Enum Members:
      DJICameraThermalResolution336x256The thermal imaging camera resolution is 336x256.
      DJICameraThermalResolution640x512The thermal imaging camera resolution is 640x512.
      DJICameraThermalResolutionUnknownThe thermal imaging camera resolution is unknown.
      enum DJICameraThermalFrameRateUpperBound
      typedef NS_ENUM(NSUInteger, DJICameraThermalFrameRateUpperBound)
      Header:DJICameraSettingsDef.h
      Description:

      The frame rate upper bound supported by the thermal camera.

      Enum Members:
      DJICameraThermalFrameRateUpperBound8Dot3HzThe thermal imaging camera frame rate upper bound is 8.3Hz.
      DJICameraThermalFrameRateUpperBound30HzThe thermal imaging camera frame rate upper bound is 30Hz.
      DJICameraThermalFrameRateUpperBoundUnknownThe thermal imaging camera frame rate upper bound is unknown.
      enum DJICameraThermalLensFocalLength
      typedef NS_ENUM(NSUInteger, DJICameraThermalLensFocalLength)
      Header:DJICameraSettingsDef.h
      Description:

      The focal length of the thermal imaging camera.

      Enum Members:
      DJICameraThermalLensFocalLength6Dot8mmThe thermal imaging camera's lens focal length is 6.8 mm.
      DJICameraThermalLensFocalLength7Dot5mmThe thermal imaging camera lens focal length is 7.5mm.
      DJICameraThermalLensFocalLength9mmThe thermal imaging camera's lens focal length is 9 mm.
      DJICameraThermalLensFocalLength13mmThe thermal imaging camera's lens focal length is 13 mm.
      DJICameraThermalLensFocalLength19mmThe thermal imaging camera's lens focal length is 19 mm.
      DJICameraThermalLensFocalLengthUnknownThe thermal imaging camera's lens focal length is unknown.
      enum DJICameraThermalVersion
      typedef NS_ENUM(NSUInteger, DJICameraThermalVersion)
      Header:DJICameraSettingsDef.h
      Description:

      There is a standard version and version with Advanced Radiometry capabilities of the Zenmuse XT thermal camera. This enum defines the versions.

      Enum Members:
      DJICameraThermalVersionXTStandardThe thermal camera is Zenmuse XT Standard version.
      DJICameraThermalVersionXTAdvancedRadiometryEnabledThe thermal camera is Zenmuse XT Advanced Radiometry version.
      enum DJICameraThermalCustomExternalSceneSettingsProfile
      typedef NS_ENUM(NSUInteger, DJICameraThermalCustomExternalSceneSettingsProfile)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalCustomExternalSceneSettingsProfile
      Description:

      User defined parameters.

      Enum Members:
      DJICameraThermalCustomExternalSceneSettingsProfile1Custom thermal external scene settings for user 1.
      DJICameraThermalCustomExternalSceneSettingsProfile2Custom thermal external scene settings for user 2.
      DJICameraThermalCustomExternalSceneSettingsProfile3Custom thermal external scene settings for user 3.
      DJICameraThermalCustomExternalSceneSettingsProfileUnknownThe user is unknown.
      enum DJICameraThermalFFCMode
      typedef NS_ENUM(NSUInteger, DJICameraThermalFFCMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalFFCMode
      Description:

      Flat-field correction mods.

      Enum Members:
      DJICameraThermalFFCModeAutoAutomatic flat-field correction mode.
      DJICameraThermalFFCModeManualManual flat-field correction mode.
      DJICameraThermalFFCModeUnknownUnknown flat-field correction mode.
      struct DJICameraThermalProfile
      typedef struct {
      DJICameraThermalResolution resolution;
      DJICameraThermalFrameRateUpperBound frameRateUpperBound;
      DJICameraThermalLensFocalLength focalLength;
      DJICameraThermalVersion version;
      } DJICameraThermalProfile
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalProfile
      Description:

      The profile of the thermal imaging camera, which includes information about resolution, frame rate and focal length.

      Struct Members:
      DJICameraThermalResolution resolutionThe supported resolution of the thermal imaging camera.
      DJICameraThermalFrameRateUpperBound frameRateUpperBoundThe supported frame rate upper bound of the thermal imaging camera.
      DJICameraThermalLensFocalLength focalLengthThe lens model of the thermal imaging camera.
      DJICameraThermalVersion versionThe version of the thermal imaging camera.
      enum DJICameraThermalDigitalZoomFactor
      typedef NS_ENUM(NSUInteger, DJICameraThermalDigitalZoomFactor)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalDigitalZoomFactor
      Description:

      Thermal camera digital zoom scale. The default value is DJICameraThermalDigitalZoomScalex1.

      Enum Members:
      DJICameraThermalDigitalZoomFactorx1Digital zoom factor x1.
      DJICameraThermalDigitalZoomFactorx2Digital Zoom factor is x2.
      DJICameraThermalDigitalZoomFactorx4Digital Zoom factor is x4.
      DJICameraThermalDigitalZoomFactorx8Digital Zoom factor is x8. Not support by Mavic 2 Enterprise Dual Light Camera.
      DJICameraThermalDigitalZoomFactorUnknownDigital Zoom factor is unknown.
      enum DJICameraThermalMeasurementMode
      typedef NS_ENUM(NSUInteger, DJICameraThermalMeasurementMode)
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalMeasurementMode
      Description:

      Thermal camera temperature measurement mode. The default value is DJICameraThermalMeasurementModeDisabled .

      Enum Members:
      DJICameraThermalMeasurementModeDisabledDisable temperature measuring.
      DJICameraThermalMeasurementModeSpotMeteringEnable temperature measurement and set mode to spot metering. Use camera:didUpdateTemperatureData to receive the updated temperature data. In this mode, the advanced radiometry version XT camera can change the metering point using setThermalSpotMeteringTargetPoint:withCompletion.
      DJICameraThermalMeasurementModeAreaMeteringEnable temperature measurement and set mode to area metering. Use camera:didUpdateAreaTemperatureAggregations to receive the updated temperature data. Only supported by the advanced radiometry version XT camera.
      DJICameraThermalMeasurementModeUnknownThermal camera's temperature measurement mode is unknown.
      struct DJICameraThermalAreaTemperatureAggregations
      typedef struct {
      float averageAreaTemperature;
      float minAreaTemperature;
      CGPoint minTemperaturePoint;
      float maxAreaTemperature;
      CGPoint maxTemperaturePoint;
      } DJICameraThermalAreaTemperatureAggregations
      Header:DJICameraSettingsDef.h
      SDK Key:DJICameraKey.DJICameraParamThermalAreaTemperatureAggregations
      Description:

      The aggregate temperature measurements for a selected metering area.

      Struct Members:
      float averageAreaTemperatureThe average temperature of the selected metering area.
      float minAreaTemperatureThe minimum temperature of the selected metering area.
      CGPoint minTemperaturePointThe minimum temperature coordinate of the selected metering area.
      float maxAreaTemperatureThe maximum temperature of the selected metering area.
      CGPoint maxTemperaturePointThe maximum temperature coordinate of the selected metering area.
      struct DJICameraThermalExternalSceneSettings
      typedef struct {
      float atmosphericTemperature;
      float atmosphericTransmissionCoefficient;
      float backgroundTemperature;
      float sceneEmissivity;
      float windowReflection;
      float windowReflectedTemperature;
      float windowTemperature;
      float windowTransmissionCoefficient;
      } DJICameraThermalExternalSceneSettings
      Header:DJICameraSettingsDef.h
      Description:

      Thermal cameras measure the apparent surface temperature of a given object. This is done by taking the amount of infrared radiation an object emits and calculating the surface temperature by applying a formula that adjusts for external factors. This struct includes all of the external scene parameters that the thermal camera firmware allows to be customized. There are two types of parameters, optical parameters which specify how much infrared radiation is transmitted from the surface to the thermal sensor, as well as parameters that specify sources of thermal radiance other than the object. For a more in-depth overview of the physics behind thermal imaging, see https://en.wikipedia.org/wiki/Thermography.

      Struct Members:
      float atmosphericTemperatureAtmospheric temperature, can be between -50 and 327.67 degrees Celsius.
      float atmosphericTransmissionCoefficientTransmission coefficient of the atmosphere between the scene and the camera, can be between 50 and 100.
      float backgroundTemperatureBackground temperature (reflected by the scene), can be between -50 and 327.67 degrees Celsius.
      float sceneEmissivityEmissivity of the scene, can be between 50 and 100.
      float windowReflectionWindow reflection, can be between 50 and 100-X where X is the window transmission coefficient parameter.
      float windowReflectedTemperatureTemperature reflected in the window, can be between -50 and 327.67 degrees Celsius.
      float windowTemperatureWindow temperature, can be between -50 and 327.67 degrees Celsius.
      float windowTransmissionCoefficientTransmission coefficient of the window, can be between 50 and 100-X where X is the window reflection.
      define DJI_THERMAL_BRIGHTNESS_UPPER_BOUND
      #define DJI_THERMAL_BRIGHTNESS_UPPER_BOUND (16383)
      Header:DJICamera.h
      Description:

      Define the upper bound for thermal brightness setting.

      const DJICameraDisplayNamePhantom3StandardCamera
      extern NSString *const DJICameraDisplayNamePhantom3StandardCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Phantom 3 Standard camera.

      const DJICameraDisplayNamePhantom3AdvancedCamera
      extern NSString *const DJICameraDisplayNamePhantom3AdvancedCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Phantom 3 Advanced camera.

      const DJICameraDisplayNamePhantom3ProfessionalCamera
      extern NSString *const DJICameraDisplayNamePhantom3ProfessionalCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Phantom 3 Professional camera.

      const DJICameraDisplayNamePhantom34KCamera
      extern NSString *const DJICameraDisplayNamePhantom34KCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Phantom 3 4K camera.

      const DJICameraDisplayNameX3
      extern NSString *const DJICameraDisplayNameX3
      Header:DJICameraDisplayNames.h
      Description:

      The display name for X3 camera.

      const DJICameraDisplayNameX5
      extern NSString *const DJICameraDisplayNameX5
      Header:DJICameraDisplayNames.h
      Description:

      The display name for X5 camera.

      const DJICameraDisplayNameX5R
      extern NSString *const DJICameraDisplayNameX5R
      Header:DJICameraDisplayNames.h
      Description:

      The display name for X5R camera.

      const DJICameraDisplayNamePhantom4Camera
      extern NSString *const DJICameraDisplayNamePhantom4Camera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Phantom 4 camera.

      const DJICameraDisplayNamePhantom4ProCamera
      extern NSString *const DJICameraDisplayNamePhantom4ProCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Phantom 4 Pro camera.

      const DJICameraDisplayNameXT
      extern NSString *const DJICameraDisplayNameXT
      Header:DJICameraDisplayNames.h
      Description:

      The display name for XT camera.

      const DJICameraDisplayNameZ3
      extern NSString *const DJICameraDisplayNameZ3
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Z3 camera.

      const DJICameraDisplayNameMavicProCamera
      extern NSString *const DJICameraDisplayNameMavicProCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Mavic Pro camera.

      const DJICameraDisplayNameSparkCamera
      extern NSString *const DJICameraDisplayNameSparkCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Spark camera.

      const DJICameraDisplayNamePhantom4ProV2Camera
      extern NSString *const DJICameraDisplayNamePhantom4ProV2Camera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Phantom 4 Pro V2 camera.

      const DJICameraDisplayNamePhantom4RTKCamera
      extern NSString *const DJICameraDisplayNamePhantom4RTKCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Phantom 4 RTK camera.

      const DJICameraDisplayNameX7
      extern NSString *const DJICameraDisplayNameX7
      Header:DJICameraDisplayNames.h
      Description:

      The display name for X7 camera.

      const DJICameraDisplayNameXT2Thermal
      extern NSString *const DJICameraDisplayNameXT2Thermal
      Header:DJICameraDisplayNames.h
      Description:

      The display name for XT2 thermal camera.

      const DJICameraDisplayNameXT2Visual
      extern NSString *const DJICameraDisplayNameXT2Visual
      Header:DJICameraDisplayNames.h
      Description:

      The display name for XT2 visual camera.

      const DJICameraDisplayNameMavicAirCamera
      extern NSString *const DJICameraDisplayNameMavicAirCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Mavic Air camera.

      const DJICameraDisplayNameMavic2ZoomCamera
      extern NSString *const DJICameraDisplayNameMavic2ZoomCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Mavic 2 Zoom camera.

      const DJICameraDisplayNameMavic2ProCamera
      extern NSString *const DJICameraDisplayNameMavic2ProCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Mavic 2 Pro camera.

      const DJICameraDisplayNamePayload
      extern NSString *const DJICameraDisplayNamePayload
      Header:DJICameraDisplayNames.h
      Description:

      The display name for a camera payload.

      const DJICameraDisplayNameMavic2EnterpriseCamera
      extern NSString *const DJICameraDisplayNameMavic2EnterpriseCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Mavic 2 Enterprise.

      const DJICameraDisplayNameMavic2EnterpriseDualThermal
      extern NSString *const DJICameraDisplayNameMavic2EnterpriseDualThermal
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Mavic 2 Enterprise Dual thermal camera.

      const DJICameraDisplayNameMavic2EnterpriseDualVisual
      extern NSString *const DJICameraDisplayNameMavic2EnterpriseDualVisual
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Mavic 2 Enterprise Dual visual camera.

      const DJICameraDisplayNameZ30
      extern NSString *const DJICameraDisplayNameZ30
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Z30 camera.

      const DJICameraDisplayNameX4S
      extern NSString *const DJICameraDisplayNameX4S
      Header:DJICameraDisplayNames.h
      Description:

      The display name for X4S camera.

      const DJICameraDisplayNameX5S
      extern NSString *const DJICameraDisplayNameX5S
      Header:DJICameraDisplayNames.h
      Description:

      The display name for X5S camera.

      const DJICameraDisplayNamePhantom4AdvancedCamera
      extern NSString *const DJICameraDisplayNamePhantom4AdvancedCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for Phantom 4 Advanced camera.