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. Return nil when the camera is multiple lenses camera. Instead, user can access lens' capabilities through its lens object.

      See Also:

      DJICameraCapabilities


      Flat Camera Mode

      Check Flat Camera Mode Supported
      method
      method isFlatCameraModeSupported
      - (BOOL)isFlatCameraModeSupported
      Header:DJICamera.h
      Description:

      Determines if current camera supports Flat Camera Mode. Returns YES if the DJICameraMode and DJICameraShootPhotoMode flatten into DJIFlatCameraMode. The DJIFlatCameraMode and setFlatMode:withCompletion can be used to set the camera mode directly. The user does not need to use setMode:withCompletion and setShootPhotoMode:withCompletion to set the camera mode by two steps. Besides, the DJICameraModeMediaDownload is decoupled from the DJICameraMode. Determine what the last camera mode was by checking mode before entering the playback.

      Return:
      BOOLYES if the current device supports flat camera mode.
      Set Flat Mode
      method
      method setFlatMode:withCompletion
      - (void)setFlatMode:(DJIFlatCameraMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the camera's flat mode to take photo, record video, or enter intelligent camera modes. Please note that you cannot change the mode when a certain task is executing. This is available only when isFlatCameraModeSupported returns YES.

      Input Parameters:
      DJIFlatCameraMode modeCamera flat mode. See DJIFlatCameraMode to find details.
      DJICompletionBlock completionRemote execution result error block.
      Get Flat Mode
      method
      method getFlatModeWithCompletion
      - (void)getFlatModeWithCompletion:(void (^_Nonnull)(DJIFlatCameraMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the camera's current flat mode. This is available only when isFlatCameraModeSupported returns YES.

      Input Parameters:
      DJIFlatCameraMode modeThe value of the DJIFlatCameraMode Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJIFlatCameraMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      Enter Playback Mode
      method
      method enterPlaybackWithCompletion
      - (void)enterPlaybackWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Enter playback mode, in which users can preview photos or videos, begin the video playback, and download media to the mobile device. This is available only when isFlatCameraModeSupported returns YES. Please note that only after exiting playback mode, last flat camera mode will be recovered.

      Input Parameters:
      DJICompletionBlock completionRemote execution result error block.
      Exit Playback Mode
      method
      method exitPlaybackWithCompletion
      - (void)exitPlaybackWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Exit play back mode. This is available only when isFlatCameraModeSupported returns YES.

      Input Parameters:
      DJICompletionBlock completionRemote execution result error block.


      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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.
      Check Metering Supported
      method
      method isMeteringSupported
      - (BOOL)isMeteringSupported
      Header:DJICamera.h
      Description:

      Check if the current device supports Metering. This is only supported by payload camera. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      Return:
      BOOLA boolean value.
      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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, DJI Mini 2. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      Input Parameters:
      float factorThe valid range is from 1.0 to 4.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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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 Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. In multiple lenses camera, if one of its lenses supports this feature, the camera and the lens that can supports both return YES. User can only access the parameters through the lens object. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. Not supported by XTS camera as the aspect ratio of XTS is always DJICameraPhotoAspectRatio4_3. For Zenmuse H20 and Zenmuse H20T, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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 supported by Spark, Mavic Air, Mavic 2, Mavic 2 Pro, Mavic 2 Zoom, Mavic 2 Eneterprise, Mavic 2 Enterprise Dual.

      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 supported by Spark, Mavic Air, Mavic 2, Mavic 2 Pro, Mavic 2 Zoom, Mavic 2 Eneterprise, Mavic 2 Enterprise Dual.

      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 Spark, Mavic Air, Mavic 2, Mavic 2 Pro, Mavic 2 Zoom, Mavic 2 Eneterprise, Mavic 2 Enterprise Dual. 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 For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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

      Custom Expand Directory Name
      method
      method setCustomExpandDirectoryName:withCompletion
      - (void)setCustomExpandDirectoryName:(NSString *)name withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Custom expand directory name settings. After calling this interface, the newly generated media files (videos or photos) will be stored in the new folder, this new folder's name will be appended by your custom directory name. For example, the default folder name is "DJI_202001012359_01", you could append "Mission1" after it, so the new folder's name will be "DJI_202001012359_01_Mission1". In one flight, you can set multiple expand directory names to create multiple custom folders. Only Supported by Zenmuse P1, Zenmuse L1, Zenmuse H20 Series.

      Input Parameters:
      NSString * nameCustom directory name to set.
      DJICompletionBlock completionThe completion block that receives the execution result.
      method getCustomExpandDirectoryNameWithCompletion
      - (void)getCustomExpandDirectoryNameWithCompletion:(void (^_Nonnull)(NSString * name, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets custom expand directory name. Only Supported by Zenmuse P1, Zenmuse L1, Zenmuse H20 Series.

      Input Parameters:
      NSString * nameGets custom expand directory name
      void (^_Nonnull)(NSString * name, NSError *_Nullable error) completionThe completion block that receives the execution result.
      Custom Expand File Name
      method
      method setCustomExpandFileName:withCompletion
      - (void)setCustomExpandFileName:(NSString *)name withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Custom expand file name settings. By calling this interface, the name of next media file (video or photo) which would be stored in camera will be appended by the custom file name you set. For example, the default photo name is "DJI_2020012091415_999_WIDE.JPG", you could append "Waypoint1" after the default photo name, so the new photo's name will be "DJI_2020012091415_999_WIDE_Waypoint1.JPG", This action will only take effect once. If you want to have the same name for all media files in one flight, you need to set this action before taking each photo. Only Supported by Zenmmuse P1, Zenmuse H20 Series.

      Input Parameters:
      NSString * nameCustom file name to set.
      DJICompletionBlock completionThe completion block that receives the execution result.
      method getCustomExpandFileNameWithCompletion
      - (void)getCustomExpandFileNameWithCompletion:(void (^_Nonnull)(NSString * name, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets custom expand file name. Only Supported by Zenmuse P1, Zenmuse H20 Series.

      Input Parameters:
      NSString * nameGets custom expand file name
      void (^_Nonnull)(NSString * name, NSError *_Nullable error) completionThe completion block that receives the execution result.
      File Index Mode
      method
      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
      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. It is supported by Mavic 2 series, Mavic 2 enterprise series, Mavic air and Matrice 200 V2 series.

      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.


      Laser Sensor

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

      Sets the laser enabled. Laser sensor turns on ranging function. Set YES to enable the laser distance sensor with measuring ranges to natural object. The laser sensor must be at least 3m from the target point. It is only supported for Zenmuse H20 series.

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

      Gets whether the laser is enabled. The laser sensor must be at least 3m from the target point. It is only supported for Zenmuse H20 series.

      Input Parameters:
      BOOL enabledThe enabled value.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(BOOL enabled, NSError *_Nullable error) completionCompletion block that receives the setter 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. It is not supported by Zenmuse H20 Series.

      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. It is not supported by Zenmuse H20 Series.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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 supported by Phantom 4 Pro, Phantom 4 Advanced, Phantom 4 Pro V2.0, Zenmuse P1, Zenmuse L1, 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 P1, Zenmse L1, 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. In multiple lenses camera, if one of its lenses supports this feature, the camera and the lens that can supports both return YES. User can only access the parameters through the lens object.

      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 Zenmuse P1, Phantom 4 Pro camera, X4S and X7 with DL lenses. In multiple lenses camera, if one of its lenses supports this feature, the camera and the lens that can supports both return YES. User can only access the parameters through the lens object.

      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. For Zenmuse L1, this interface can not enabled in video mode.

      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. In multiple lenses camera, if one of its lenses supports this feature, the camera and the lens that can supports both return YES. User can only access the parameters through the lens object.

      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. In multiple lenses camera, if one of its lenses supports this feature, the camera and the lens that can supports both return YES. User can only access the parameters through the lens object.

      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 Air 2, DJI Air 2S, 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 , DJI Air 2S, 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 and Zenmuse H20 Series mounted on Matrice 300 RTK.

      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 and Zenmuse H20 Series mounted on Matrice 300 RTK.

      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. Not supported by Mavic Mini, DJI Mini 2, DJI Mini SE.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Mavic 2 Enterprise Advanced camera, support DJICameraThermalFFCModeAuto and DJICameraThermalFFCModeManual. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20T and H20N, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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 and Mavic 2 Enterprise Dual. Mavic 2 Enterprise Dual does not support with firmware version lower than 01.01.0520. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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 and Mavic 2 Enterprise Dual. Mavic 2 Enterprise Dual does not support with firmware version lower than 01.01.0520. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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.


      Multi Lenses

      Lenses List
      property
      property lenses
      @property(nonatomic, readonly) NSArray <DJILens *> *lenses
      Header:DJICamera.h
      Description:

      Lenses list supported by a multiple lens camera. Lenses cannot execute camera actions such as shoot photo or record video even their class type are also DJICamera. You can only set a lens's particular parameters through one of them. Only supported by Zenmuse H20 Series.

      See Also:

      DJILens

      Check MultiLens Camera Supported
      method
      method isMultiLensCameraSupported
      - (BOOL)isMultiLensCameraSupported
      Header:DJICamera.h
      Description:

      Determines if the camera supports the multiple lens.

      Return:
      BOOLYES if the multiple lens is supported.
      Set Camera Video Stream Source
      method
      method setCameraVideoStreamSource:withCompletion
      - (void)setCameraVideoStreamSource:(DJICameraVideoStreamSource)sourceStream withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the camera video stream source. For multi-lens cameras, the camera stream has different sources. DJICameraVideoStreamSource is used to represents the camera video stream source. When the source of the camera video stream is set, the current live view stream will also been changed to corresponding source. It is only supported by Zenmuse H20 Series.

      Input Parameters:
      DJICameraVideoStreamSource sourceStreamThe camera video stream source.
      DJICompletionBlock completionCompletion block that receives the setter execution result.
      Get Camera Video Stream Source
      method
      method getCameraVideoStreamSourceWithCompletion
      - (void)getCameraVideoStreamSourceWithCompletion:(void (^_Nonnull)(DJICameraVideoStreamSource source, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the camera video stream source. For multi-lens cameras, the camera stream has different sources. DJICameraVideoStreamSource is used to represents the camera video stream source. When the source of the camera video stream is set, the image transmission will also been changed to corresponding source. It is only supported by Zenmuse H20 series.

      Input Parameters:
      DJICameraVideoStreamSource sourceThe camera video stream source.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraVideoStreamSource source, NSError *_Nullable error) completionCompletion block that receives the setter execution result.
      Capture Camera Stream Settings
      method
      method setCaptureStreamSources:withCompletion
      - (void)setCaptureStreamSources:(DJICameraStreamSettings *)sourceSettings withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      By default, all lenses of this camera will take photos. by using this interface, you can select your interested lens to take photos. Before calling this interface, you should set the camera mode to photo mode. Only supported by Zenmuse H20 series.

      Input Parameters:
      DJICameraStreamSettings * sourceSettingsAn object of DJICameraStreamSettings.
      DJICompletionBlock completionThe completion block that receives the execution result.
      method getCaptureStreamSourcesWithCompletion
      - (void)getCaptureStreamSourcesWithCompletion:(void (^_Nonnull)(DJICameraStreamSettings *settings, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the capture camera stream settings for taking photo. Only supported by Zenmuse H20 series.

      Input Parameters:
      DJICameraStreamSettings * settingsGets the object of DJICameraStreamSettings.
      void (^_Nonnull)(DJICameraStreamSettings *settings, NSError *_Nullable error) completionThe completion block that receives the execution result.
      Record Camera Stream Settings
      method
      method setRecordStreamSources:withCompletion
      - (void)setRecordStreamSources:(DJICameraStreamSettings *)sourceSettings withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the camera stream settings for recording video. When recording video, it will been determined whether if current screen is recorded and which camera stream sources are recorded according the camera settings. The class of DJICameraStreamSettings is used to set the camera stream settings. Before calling this interface, you should set the camera mode to video mode. Only supported by Zenmuse H20 series.

      Input Parameters:
      DJICameraStreamSettings * sourceSettingsAn object of DJICameraStreamSettings.
      DJICompletionBlock completionThe completion block that receives the execution result.
      method getRecordStreamSourcesWithCompletion
      - (void)getRecordStreamSourcesWithCompletion:(void (^_Nonnull)(DJICameraStreamSettings *settings, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the capture camera stream settings for recording video. Only supported by Zenmuse H20 series.

      Input Parameters:
      DJICameraStreamSettings * settingsGets the object of DJICameraStreamSettings.
      void (^_Nonnull)(DJICameraStreamSettings *settings, NSError *_Nullable error) completionThe completion block that receives the execution result.


      Multispectral Camera

      Multispectral Display Mode
      method
      method setMultispectralDisplayMode:withCompletion
      - (void)setMultispectralDisplayMode:(DJICameraMultispectralDisplayMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the display mode to coordinate the video feeds from both the RGB sensor and single-band sensors. Only supported by multispectral camera of P4 Multispectral.

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

      Gets the display mode. The display mode determines the way to coordinate the video feeds from both the RGB sensor and single-band sensors. Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      DJICameraMultispectralDisplayMode modeThe current display mode.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraMultispectralDisplayMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      Multispectral Storage Photo Settings
      method
      method setMultispectralStoragePhotoSettings:withCompletion
      - (void)setMultispectralStoragePhotoSettings:(DJICameraMultispectralStorageSettings *)settings withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the storage settings for the multispectral camera. The settings control if the photos created by different sensors will be saved or not. Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      DJICameraMultispectralStorageSettings * settingsAn object of DJICameraMultispectralStorageSettings.
      DJICompletionBlock completionCompletion block to receive the setter result.
      method getMultispectralStoragePhotoSettingsWithCompletion
      - (void)getMultispectralStoragePhotoSettingsWithCompletion:(void (^_Nonnull)(DJICameraMultispectralStorageSettings * settings, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the storage settings for the multispectral camera. Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      DJICameraMultispectralStorageSettings * settingsAn object of DJICameraMultispectralStorageSettings.
      NSError *_Nullable errorThe encountered error if any.
      void (^_Nonnull)(DJICameraMultispectralStorageSettings * settings, NSError *_Nullable error) completionCompletion block to receive the setter result.
      Multispectral Metering Mode
      method
      method setMultispectralMeteringMode:withCompletion
      - (void)setMultispectralMeteringMode:(DJICameraMeteringMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the metering mode for the single-band sensors on the multispectral camera. The same metering mode will be applied to all single-band sensors (sensors except the RGB one). Only DJICameraMeteringModeCenter and DJICameraMeteringModeAverage mode to be set. Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      DJICameraMeteringMode modeExposure metering to set.
      DJICompletionBlock completionCompletion block to receive the result.
      method getMultispectralMeteringModeWithCompletion
      - (void)getMultispectralMeteringModeWithCompletion:(void (^_Nonnull)(DJICameraMeteringMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the metering mode for all single-band sensors (sensors except the RGB one). Only supported by multispectral camera of P4 Multispectral.

      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.
      Multispectral Exposure Mode
      method
      method setMultispectralExposureMode:withCompletion
      - (void)setMultispectralExposureMode:(DJICameraExposureMode)mode withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the exposure mode for the single-band sensors on the multispectral camera. The same exposure mode will be applied to all single-band sensors (sensors except the RGB one). Exposure mode must be DJICameraExposureModeProgram or DJICameraExposureModeShutterPriority. Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      DJICameraExposureMode modeCamera exposure mode to set.
      DJICompletionBlock completionCompletion block to receive the result.
      method getMultispectralExposureModeWithCompletion
      - (void)getMultispectralExposureModeWithCompletion:(void (^_Nonnull)(DJICameraExposureMode mode, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the exposure mode for all single-band sensors (sensors except the RGB one). Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      DJICameraExposureMode modeCamera exposure mode to set.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraExposureMode mode, NSError *_Nullable error) completionCompletion block to receive the result.
      method setMultispectralExposureCompensation:withCompletion
      - (void)setMultispectralExposureCompensation:(DJICameraExposureCompensation)compensation withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the exposure compensation for the single-band sensors on the multispectral camera. The same exposure compensation will be applied to all single-band sensors (sensors except the RGB one). See DJICameraExposureCompensation to view all possible exposure compensations to which the single-band sensors can be set. In order to use this function, set the camera exposure mode to DJICameraExposureModeProgram or DJICameraExposureModeShutterPriority Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      DJICameraExposureCompensation compensationExposure compensation value to be set for the single-band sensors's.
      DJICompletionBlock completionCompletion block to receive the result.
      Multispectral Exposure Compensation
      method
      method getMultispectralExposureCompensationWithCompletion
      - (void)getMultispectralExposureCompensationWithCompletion:(void (^_Nonnull)(DJICameraExposureCompensation compensation, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the exposure compensation for all single-band sensors (sensors except the RGB one). Only supported by multispectral camera of P4 Multispectral.

      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.
      Multispectral Shutter Speed
      method
      method setMultispectralShutterSpeed:withCompletion
      - (void)setMultispectralShutterSpeed:(DJICameraShutterSpeed)shutterSpeed withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Sets the shutter speed for the single-band sensors on the multispectral camera. The same shutter speed will be applied to all single-band sensors (sensors except the RGB one). To see all available shutter speed 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 shutter speed must be <= 1/30. Precondition: The shutter speed can be set only when the camera exposure mode is DJICameraExposureModeShutterPriority mode. Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      DJICameraShutterSpeed shutterSpeedShutter speed value to be set for the single-band sensors. 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 getMultispectralShutterSpeedWithCompletion
      - (void)getMultispectralShutterSpeedWithCompletion:(void (^_Nonnull)(DJICameraShutterSpeed shutterSpeed, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Gets the shutter speed for all single-band sensors (sensors except the RGB one). The shutter speed is only available when the camera exposure mode is DJICameraExposureModeShutterPriority mode.

      Input Parameters:
      DJICameraShutterSpeed shutterSpeedThe value of the DJICamera_DJICameraShutterSpeed` Enum.
      NSError *_Nullable errorError retrieving the value.
      void (^_Nonnull)(DJICameraShutterSpeed shutterSpeed, NSError *_Nullable error) completionRemote execution result error block.
      Multispectral AE Lock
      method
      method setMultispectralAELock:withCompletion
      - (void)setMultispectralAELock:(BOOL)isLocked withCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Locks or unlocks the single-band sensors on the multispectral camera AELock AE (auto exposure). The same lock state will be applied to all single-band sensors (sensors except the RGB one).

      Input Parameters:
      BOOL isLockedYES if the the single-band sensors AE is locked, NO if it is unlocked.
      DJICompletionBlock completionRemote execution result error block.
      method getMultispectralAELockWithCompletion
      - (void)getMultispectralAELockWithCompletion:(void (^_Nonnull)(BOOL isLocked, NSError *_Nullable error))completion
      Header:DJICamera.h
      Description:

      Determines if all the single-band (sensors except the RGB one) sensors on the multispectral camera 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.


      Camera Calibration

      Camera Calibrate State
      enum
      enum DJICameraCalibrateState
      typedef NS_ENUM(NSUInteger, DJICameraCalibrateState)
      Header:DJICameraSettingsDef.h
      Description:

      The calibration status of the camera's lens.

      Enum Members:
      DJICameraCalibrateState_NotCalibrateIf the camera lenses are not calibrated. Focusing action will be influenced. Please use calibration interface if you need.
      DJICameraCalibrateState_CalibratedCamera lens calibrated. Do not need to calibrate.
      DJICameraCalibrateState_CalibratingCalibration is in progress.
      DJICameraCalibrateState_WaitingForCalibrateWaiting for the calibration.
      DJICameraCalibrateState_UnknownThe camera lens's state is unknown.
      Camera Calibrate Result
      enum
      enum DJICameraCalibrateResult
      typedef NS_ENUM(NSUInteger, DJICameraCalibrateResult)
      Header:DJICameraSettingsDef.h
      Description:

      The calibration result of the camera's lens.

      Enum Members:
      DJICameraCalibrateResult_IdleNo calibration.
      DJICameraCalibrateResult_CompletedThe calibration is successful.
      DJICameraCalibrateResult_FailNormalThe calibration is failed. Please retry.
      DJICameraCalibrateResult_DataErrorThe calibration is failed because of the data error. Please retry.
      DJICameraCalibrateResult_UnknownThe calibration is failed with the unknown error.
      Camera Calibration State
      method
      method camera:didUpdateCalibrationState
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateCalibrationState:(DJICameraCalibrateState)calibrationState
      Header:DJICamera.h
      Description:

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

      Input Parameters:
      DJICameraCalibrateState calibrationStateInstance of the Camera for calibration state will be updated.
      Camera Calibration Result
      method
      method camera:didUpdateCalibrationResult
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateCalibrationResult:(DJICameraCalibrateResult)calibrationResult
      Header:DJICamera.h
      Description:

      Called when the camera's calibration result has been updated.

      Input Parameters:
      DJICameraCalibrateResult calibrationResultInstance of the Camera for calibration result will be updated.
      Start Calibaration
      method
      method startCalibrationWithCompletion
      - (void)startCalibrationWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      If you encounter the following situation, please call this interface for camera calibration. Only supported by Zemmuse P1.
      1. Zemmuse P1 supports the replacement of a variety of fixed focus lenses, so when the lens is replaced, it is recommended that you recalibrate.
      2. Please listen the camera:didUpdateCalibrationState, if the status is DJICameraCalibrateState_NotCalibrate, please recalibrate.
      3. Please listen the hms error code, If you listen to the following error code, please recalibrate.
             hms_0x1C000D02: The camera calibration file failed to load, please perform infinity calibration.
             hms_0x1C000D03: Infinity focus calibration data expired. Recalibrate.
             hms_0x1C000D04: Infinity focus calibration data expired. Recalibrate.

      The following are the calibration steps:
      1. Take off and ascend to 102 meters (335ft) or higher to start calibration. Fly with caution.
      2. Call startCalibrationWithCompletion interface. The state will change to DJICameraCalibrateState_WaitingForCalibrate.
      3. Set gimbal angle as -90 degrees(perpendicular to the ground). Call setFocusTarget:withCompletion interface to set the object with multiple distinct visual patterns at the center of the camera view as focus. Then the state will change to DJICameraCalibrateState_Calibrating.
      4. After finish the calibration, the state will change to DJICameraCalibrateState_Calibrated. You can use DJICameraCalibrateResult to listen the calibration result.

      Input Parameters:
      DJICompletionBlock completionThe execution callback with the returned execution result.
      Stop Calibaration
      method
      method stopCalibrationWithCompletion
      - (void)stopCalibrationWithCompletion:(DJICompletionBlock)completion
      Header:DJICamera.h
      Description:

      Stop camera calibraion.

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

      Make sure you have calibrated the lens' infinity focusing with startCalibrationWithCompletion. When in use, the lens uses infinity focus as calibrated. To help ensure focusing accuracy, recalibrate the infinity focus when there is a large temperature difference between the mission environment and the calibration environment (>15 degrees Celsius).

      Input Parameters:
      DJICompletionBlock completionThe execution callback with the returned execution 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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. Not supported by Zenmuse Z30 and Zenmuse XT2.
      Note:Because the firmware cannot return some information correctly, so the interface is deprecated, please use camera:didGenerateNewMediaFileInfo insteaded.

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

      Return the media file info when a new media file (photo or video) has been generated. Only Supported by Znmuse H20 series.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of Camera that generates the new media file.
      DJIMediaFileInfo *_Nonnull newMediaInfoThe new media file info.
      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 by Zenmuse XT containing Advanced Radiometry capabilities. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please use class DJILens.

      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.
      method camera:didUpdateVideoStreamSource
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateVideoStreamSource:(DJICameraVideoStreamSource)source
      Header:DJICamera.h
      Description:

      Called when the video stream source change. Only supported by Zenmuse H20 Series.

      Input Parameters:
      DJICamera *_Nonnull cameraInstance of the Camera for which video stream source will be updated.
      DJICameraVideoStreamSource sourceThe video stream source.
      method camera:didUpdateMultispectralExposureStates
      @optional
      - (void)camera:(DJICamera *_Nonnull)camera didUpdateMultispectralExposureStates:(DJICameraMultispectralExposureStates *)status
      Header:DJICamera.h
      Description:

      Called when the Multispectral camera's exposure status changes. Only supported by multispectral camera of P4 Multispectral.

      Input Parameters:
      DJICamera *_Nonnull cameraCamera that sends out the updated exposure status.
      DJICameraMultispectralExposureStates * statusThe Multispectral camera's current exposure status.
      Managers
      class
      enum DJIFlatCameraMode
      typedef NS_ENUM (NSUInteger, DJIFlatCameraMode)
      Header:DJICameraSettingsDef.h
      Description:

      Flat camera mode can be used to set the mode to camera directly. The benefit is no need to set the camera mode to shoot photo mode or the Record video first. Please use setFlatMode:withCompletion to set the flat mode. This is available only when isFlatCameraModeSupported returns YES.

      Enum Members:
      DJIFlatCameraModeVideoNormalSets the camera to record normal videos.
      DJIFlatCameraModePhotoTimeLapseSets 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.
      DJIFlatCameraModePhotoAEBAutomatic 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.
      DJIFlatCameraModePhotoSingleSets the camera to take a single photo.
      DJIFlatCameraModePhotoBurstSet the camera to take multiple photos at once.
      DJIFlatCameraModePhotoHDRSets the camera to take photos in HDR mode.
      DJIFlatCameraModeVideoHDRSets the camera to HDR video recording mode. Only supported by Mavic Air 2.
      DJIFlatCameraModePhotoIntervalSets 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.
      DJIFlatCameraModePhotoHyperLightSets 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.
      DJIFlatCameraModePhotoPanoramaSets the camera to take photos in 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.
      DJIFlatCameraModePhotoEHDRSets the camera to take an enhanced-HDR photo. It blends a sequence of photos for ghost-free high dynamic range photos.
      DJIFlatCameraModePhotoHighResolutionSets the camera to the high resolution mode. In this mode, the camera will take photos with a resolution of 48MP. Only supported by Mavic Air 2.
      DJIFlatCameraModePhotoSmartSets the camera to the smart mode. In this mode, when shooting photo, the camera can automatically recognize the scene, and use the built-in algorithm to optimize the scene. Only supported by Mavic Air 2, DJI Air 2S.
      DJIFlatCameraModeInternalAISpotCheckingInternal work mode during smart inspection and it cannot be set manually. This mode might last for less than 10 seconds, during when the user cannot take photo, record a video, enter media playback mode, set spot metering target of DJILensTypeZoom lens type, and set zoom focus length with any lens type. Only DJICameraFocusModeAuto can be set with DJILensTypeZoom lens type. In this mode, remote controller also cannot be used to take photo, record video and adjust focus. It's only supported by Matrice 300 RTK.
      DJIFlatCameraModeUnknownThe camera work mode is unknown.
      enum DJILensType
      typedef NS_ENUM(NSUInteger, DJILensType)
      Header:DJICameraSettingsDef.h
      Description:

      Camera lens type. Only supported by Zenmuse H20 Series.

      Enum Members:
      DJILensTypeZoomZoom lens.
      DJILensTypeWideWide lens.
      DJILensTypeInfraredThermalInfrared Thermal lens.
      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, Mavic Air, Mavic 2, Mavic 2 Pro, Mavic 2 Zoom, Mavic 2 Eneterprise, Mavic 2 Enterprise Dual.
      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.
      DJICameraShootPhotoModeHighResolutionIndicates that the photo was taken in high resolution mode(48 MP 8000×6000 pixel). Supported by Mavic Air 2.
      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_20000Camera's shutter speed 1/20000 s.
      DJICameraShutterSpeed1_16000Camera's shutter speed 1/16000 s.
      DJICameraShutterSpeed1_12800Camera's shutter speed 1/12800 s.
      DJICameraShutterSpeed1_10000Camera's shutter speed 1/10000 s.
      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.
      DJICameraISO50The ISO value is set to 50.
      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.
      DJICameraISO51200The ISO value is set to 51200.
      DJICameraISO102400The ISO value is set to 102400.
      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. Zenmuse P1, X5, X5R, Z30, Phantom 4 Pro camera, X4S and X5S support this setting.

      Enum Members:
      DJICameraApertureF1The Aperture value is f/1.
      DJICameraApertureF1Dot2The Aperture value is f/1.2.
      DJICameraApertureF1Dot3The Aperture value is f/1.3.
      DJICameraApertureF1Dot4The Aperture value is f/1.4.
      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.
      DJICameraApertureF25The Aperture value is f/25.
      DJICameraApertureF28The Aperture value is f/28.
      DJICameraApertureF32The Aperture value is f/32.
      DJICameraApertureF37The Aperture value is f/37.
      DJICameraApertureF41The Aperture value is f/41.
      DJICameraApertureF45The Aperture value is f/45.
      DJICameraApertureF52The Aperture value is f/52.
      DJICameraApertureF58The Aperture value is f/58.
      DJICameraApertureF64The Aperture value is f/64.
      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. For Zenmuse H20 Series and Mavic 2 Enterprise Advanced, please access the value through class DJILens.

      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, DJI Air 2S.
      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 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.
      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 supported by Spark, Mavic Air, Mavic 2, Mavic 2 Pro, Mavic 2 Zoom, Mavic 2 Eneterprise, Mavic 2 Enterprise Dual.
      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.
      DJICameraVideoResolution5472x3078The camera's video resolution is 5472x3078.
      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.
      DJICameraVideoFrameRate240FPSThe camera's video frame rate is 240fps (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. For Zenmuse H20 Series, please access the value through class DJILens.

      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 DJICameraMultispectralDisplayMode
      typedef NS_ENUM (NSUInteger, DJICameraMultispectralDisplayMode)
      Header:DJICameraSettingsDef.h
      Description:

      Display modes to coordinate the video feeds from both the RGB sensor and single-band sensors. Only supported by multispectral camera of P4 Multispectral.

      Enum Members:
      DJICameraMultispectralDisplayModeRGBDisplays only the video feed from the RGB sensor.
      DJICameraMultispectralDisplayModeNDVIDisplays the NVDI (normalized difference vegetation index) frames as video feed produced by the multispectral camera.
      DJICameraMultispectralDisplayModeUnknownThe multispectral camera video feed display mode is unknown.
      enum DJICameraSpectrumBand
      typedef NS_ENUM(NSInteger, DJICameraSpectrumBand)
      Header:DJICameraSettingsDef.h
      Description:

      Enums represent the spectrum bands of a multispectral camera. For P4 Multispectral, the camera supports 5 bands. Only supported by multispectral camera of P4 Multispectral.

      Enum Members:
      DJICameraSpectrumBandBlueThe blue spectrum.
      DJICameraSpectrumBandGreenThe green spectrum.
      DJICameraSpectrumBandRedThe red spectrum.
      DJICameraSpectrumBandNearInfraredThe near infrared spectrum.
      DJICameraSpectrumBandRedEdgeThe near infrared spectrum.
      DJICameraSpectrumBandUnknownUnknown.
      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.
      enum DJICameraVideoStreamSource
      typedef NS_ENUM (NSUInteger, DJICameraVideoStreamSource)
      Header:DJICameraSettingsDef.h
      Description:

      The enumeration represents which lens the camera stream comes from. The camera video stream will been used to transfer to image transmission to display and determine which lens were taken photo or recording. It is only supported by Zenmuse H20 Series Camera.

      Enum Members:
      DJICameraVideoStreamSourceDefaultThe default video stream channel.
      DJICameraVideoStreamSourceWideWide stream. Only supported by Zenmuse H20 Series and Mavic 2 Enterprise Advanced.
      DJICameraVideoStreamSourceZoomZoom stream. Only supported by Zenmuse H20 Series and Mavic 2 Enterprise Advanced.
      DJICameraVideoStreamSourceInfraredThermalInfrared thermal stream. Only supported by Zenmuse H20T and H20N.and Mavic 2 Enterprise Advanced.
      DJICameraVideoStreamSourceUnknownUnknown.
      SSD Clip File Name
      class
      Original Photo Settings
      class
      Multispectral Storage Settings
      class
      Mutable Camera Multispectral Storage Settings
      class
      Multispectral Exposure State
      class
      Multispectral Exposure States
      class
      Watermark Settings
      class
      Laser Measure Info
      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. Shown as Tint in DJI Pilot.
      DJICameraThermalPaletteGreenHotWithout Isotherm enabled, the Palette type is GreenHot. With Isotherm enabled, the Palette type is GreenHotIso. Shown as Medical in DJI Pilot.
      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. Shown as Rainbow1 in DJI Pilot.
      DJICameraThermalPaletteIronbow1Without Isotherm enabled, the Palette type is Ironbow1. With Isotherm enabled, the Palette type is IronbowWHIso. Shown as IronRed in DJI Pilot.
      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. Shown as Arctic in DJI Pilot.
      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. Shown as Fulgurite in DJI Pilot.
      DJICameraThermalPaletteColor2Without Isotherm enabled, the Palette type is Color2. With Isotherm enabled, the Palette type is MidRangeBHIso. Shown as HotIron in DJI Pilot.
      DJICameraThermalPaletteRainWithout Isotherm enabled, the Palette type is Rain. With Isotherm enabled, the Palette type is RainbowHCIso. Shown as Rainbow2 in DJI Pilot.
      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. For Zenmuse H20T and H20N, please access the value through class DJILens.

      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.
      DJICameraThermalResolution384x288The thermal imaging camera resolution is 384x288.
      DJICameraThermalResolution1024x768The thermal imaging camera resolution is 1024x768.
      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.
      DJICameraThermalDigitalZoomFactorx16Digital Zoom factor is x16. Not support by Mavic 2 Enterprise Dual Light Camera.
      DJICameraThermalDigitalZoomFactorx32Digital Zoom factor is x32. 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 Zenmuse XT camera.

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

      The display name for Zenmuse XT S 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 DJICameraDisplayNamePhantom4MCamera
      extern NSString *const DJICameraDisplayNamePhantom4MCamera
      Header:DJICameraDisplayNames.h
      Description:

      The display name for P4 Multispectral camera.

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

      The display name for Mavic Mini camera.

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

      The display name for DJI Mini SE camera.

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

      The display name for DJI Mini 2 camera.

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

      The display name for Mavic Air 2 camera.

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

      The display name for DJI Air 2S camera.

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

      The display name for Zenmuse H20.

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

      The display name for Zenmuse H20T.

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

      The display name for Zenmuse H20N.

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

      The display name for zoom lens.

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

      The display name for wide lens.

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

      The display name for thermal lens.

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

      The display name for Zenmuse L1. Note: Zenmuse L1 can only be set at Gimbal position 0 where it is at the left side of the aircraft.

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

      The display name for Zenmuse P1. Note: Zenmuse P1 can only be set at Gimbal position 0 where it is at the left side of the aircraft.

      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.

      DJILens
      class