DJI Mobile SDK Documentation

      class NSError

      @interface NSError (DJISDK)
      Header:NSError+DJISDK.h
      Description:

      NSError's DJISDK category. It contains methods to create custom NSErrors.

      Class Members:
      Get DJISDKError
      class method
      class method DJISDKErrorForCode
      + (_Nullable instancetype)DJISDKErrorForCode:(NSInteger)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJISDKError.

      Input Parameters:
      NSInteger errorCodeerrorCode for DJISDKError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJISDKCameraError
      class method
      class method DJISDKCameraErrorForCode
      + (_Nullable instancetype)DJISDKCameraErrorForCode:(NSInteger)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJISDKCameraError.

      Input Parameters:
      NSInteger errorCodeerrorCode for DJISDKCameraError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJISDKFlightControllerError
      class method
      class method DJISDKFlightControllerErrorForCode
      + (_Nullable instancetype)DJISDKFlightControllerErrorForCode:(NSInteger)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJISDKFlightControllerError.

      Input Parameters:
      NSInteger errorCodeerrorCode for DJISDKFlightControllerError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJISDKMissionError
      class method
      class method DJISDKMissionErrorForCode
      + (_Nullable instancetype)DJISDKMissionErrorForCode:(NSInteger)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJISDKMissionError.

      Input Parameters:
      NSInteger errorCodeerrorCode for DJISDKMissionError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJISDKRegistrationError
      class method
      class method DJISDKRegistrationErrorForCode
      + (_Nullable instancetype)DJISDKRegistrationErrorForCode:(DJISDKRegistrationError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJISDKRegistrationError.

      Input Parameters:
      DJISDKRegistrationError errorCodeerrorCode for DJISDKRegistrationError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJISDKFlySafeError
      class method
      class method DJISDKFlySafeErrorForCode
      + (_Nullable instancetype)DJISDKFlySafeErrorForCode:(DJISDKFlySafeError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJISDKFlySafeError.

      Input Parameters:
      DJISDKFlySafeError errorCodeerrorCode for DJISDKFlySafeError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJIFlightHubError
      class method
      class method DJISDKFlightHubErrorForCode
      + (_Nullable instancetype)DJISDKFlightHubErrorForCode:(DJISDKFlightHubError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Returns the specific error in the DJISDKFlightHubError according to the error code.

      Input Parameters:
      DJISDKFlightHubError errorCodeerrorCode for DJISDKFlightHubError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      class method DJIRTKNetworkServiceErrorForCode
      + (_Nullable instancetype)DJIRTKNetworkServiceErrorForCode:(DJIRTKNetworkServiceError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJIRTKNetworkServiceError.

      Input Parameters:
      DJIRTKNetworkServiceError errorCodeerrorCode for DJIRTKNetworkServiceError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get AggregationError
      class method
      class method DJIAccessoryAggregationErrorForCode
      + (_Nullable instancetype)DJIAccessoryAggregationErrorForCode:(DJIAccessoryAggregationError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJIAccessoryAggregationError.

      Input Parameters:
      DJIAccessoryAggregationError errorCodeerrorCode for DJIAccessoryAggregationError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get AccessLockerError
      class method
      class method DJIAccessLockerErrorForCode
      + (_Nullable instancetype)DJIAccessLockerErrorForCode:(DJIAccessLockerError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJIAccessoryLockerError.

      Input Parameters:
      DJIAccessLockerError errorCodeerrorCode for DJIAccessLockerError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get PayloadError
      class method
      class method DJIPayloadErrorForCode
      + (_Nullable instancetype)DJIPayloadErrorForCode:(DJIPayloadError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJIAccessoryLockerError.

      Input Parameters:
      DJIPayloadError errorCodeerrorCode for DJIPayloadError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJIUpgradeError with Params
      class method
      class method DJIUpgradeErrorForCode
      + (_Nullable instancetype)DJIUpgradeErrorForCode:(DJIUpgradeError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJIUpgradeError.

      Input Parameters:
      DJIUpgradeError errorCodeError code for DJIUpgradeError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJIWaypointV2Error
      class method
      class method DJISDKWaypointV2ErrorForCode
      + (_Nullable instancetype)DJISDKWaypointV2ErrorForCode:(DJIWaypointV2Error)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJIWaypointV2Error.

      Input Parameters:
      DJIWaypointV2Error errorCodeError code for DJISDKWaypointV2ErrorForCode.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJIPipelineError
      class method
      class method DJIPipelineErrorForCode
      + (_Nullable instancetype)DJIPipelineErrorForCode:(DJIPipelineError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Gets the DJIPipelineError.

      Input Parameters:
      DJIPipelineError errorCodeError code for DJIPipelineError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJIUTMISSError with Params
      class method
      class method DJIUTMISSErrorForCode
      + (_Nullable instancetype)DJIUTMISSErrorForCode:(DJIUTMISSError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJIUTMISSError.

      Input Parameters:
      DJIUTMISSError errorCodeError code for DJIUTMISSError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJILDMError with Params
      class method
      class method DJISDKLDMErrorForCode
      + (_Nullable instancetype)DJISDKLDMErrorForCode:(DJILDMError)errorCode
      Header:NSError+DJISDK.h
      Description:

      Get DJILDMError.

      Input Parameters:
      DJILDMError errorCodeError code for DJILDMError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode. If the errorCode was 0, returns nil.
      Get DJISDKError with Params
      class method
      class method DJISDKErrorForCode:domain:desc
      + (_Nullable instancetype)DJISDKErrorForCode:(NSInteger)errorCode domain:(NSString *_Nonnull)errorDomain desc:(const NSString *_Nonnull)desc
      Header:NSError+DJISDK.h
      Description:

      Get DJISDKError.

      Input Parameters:
      NSInteger errorCodeError code for DJISDKError.
      NSString *_Nonnull errorDomainDomain for DJISDKError.
      const NSString *_Nonnull descDescription for DJISDKError.
      Return:
      _Nullable instancetypeAn NSError object initialized with errorCode, errorDomain and desc.
      extern DJISDKErrorDomain
      FOUNDATION_EXPORT NSString * _Nonnull const DJISDKErrorDomain
      Header:NSError+DJISDK.h
      Description:

      SDK common error domain.

      extern DJISDKCameraErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJISDKCameraErrorDomain
      Header:NSError+DJISDK.h
      Description:

      SDK camera error domain.

      extern DJISDKMissionErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJISDKMissionErrorDomain
      Header:NSError+DJISDK.h
      Description:

      SDK mission error domain.

      extern DJISDKBatteryErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJISDKBatteryErrorDomain
      Header:NSError+DJISDK.h
      Description:

      SDK battery error domain.

      extern DJISDKGimbalErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJISDKGimbalErrorDomain
      Header:NSError+DJISDK.h
      Description:

      SDK gimbal error domain.

      extern DJISDKFlightControllerErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJISDKFlightControllerErrorDomain
      Header:NSError+DJISDK.h
      Description:

      SDK flight controller domain.

      extern DJISDKRemoteControllerErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJISDKRemoteControllerErrorDomain
      Header:NSError+DJISDK.h
      Description:

      SDK remote controller domain.

      extern DJISDKRegistrationErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJISDKRegistrationErrorDomain
      Header:NSError+DJISDK.h
      Description:

      SDK registration error domain.

      extern DJISDKFlySafeErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJISDKFlySafeErrorDomain
      Header:NSError+DJISDK.h
      Description:

      SDK GEO error domain.

      extern DJISDKFlightHubErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJISDKFlightHubErrorDomain
      Header:NSError+DJISDK.h
      Description:

      SDK FlightHub error domain.

      extern DJITakeOffActionErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJITakeOffActionErrorDomain
      Header:NSError+DJISDK.h
      Description:

      The error domain used to describe errors produced by the DJITakeOffAction object.

      extern DJIRTKNetworkServiceErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJIRTKNetworkServiceErrorDomain
      Header:NSError+DJISDK.h
      Description:

      The error domain used to describe errors produced by the DJIRTKNetworkServiceProvider.

      extern DJIAccessoryAggregationErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJIAccessoryAggregationErrorDomain
      Header:NSError+DJISDK.h
      Description:

      The error domain used to describe errors produced by the DJIAccessoryAggregation object.

      extern DJIAccessLockerErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJIAccessLockerErrorDomain
      Header:NSError+DJISDK.h
      Description:

      The error domain used to describe errors produced by the DJIAccessLocker object.

      extern DJIPipelineErrorDomain
      FOUNDATION_EXPORT NSString *_Nonnull const DJIPipelineErrorDomain
      Header:NSError+DJISDK.h
      Description:

      Defines the domain of "Pipeline" error.

      enum DJISDKFlySafeError
      typedef NS_ENUM(NSInteger, DJISDKFlySafeError)
      Header:NSError+DJISDK.h
      Description:

      DJI SDK GEO Error.

      Enum Members:
      DJISDKFlySafeErrorNotLoggedInUser is not logged in.
      DJISDKFlySafeErrorInvalidSimulatedLocationThis enum value is deprecated. The simulated aircraft location is not valid. During the simulation, a location is valid if it is within 50km of (37.460484, -122.115312).
      DJISDKFlySafeErrorNoMCSNNo MCSN Error.
      DJISDKFlySafeErrorFCQueryFailedUnlock error, can't get license from the drone.
      DJISDKFlySafeErrorFCSetEnableFailedUnlock error, can't enable license.
      DJISDKFlySafeErrorSetEnableWithInvalidUserIdSet enabled with invalid user id.
      DJISDKFlySafeErrorSetEnableWithNoExistLicenseLicense error, can't find the correct license.
      DJISDKFlySafeErrorSetEnableVersionNotMatchLicense error, incorrect length of request data.
      DJISDKFlySafeErrorSetEnableParamErrorLicense error, incorrect value of request data.
      DJISDKFlySafeErrorSetEnableDroneInSkyLicense error, can't set license when the drone is flying.
      DJISDKFlySafeErrorUploadLicenseDataUserIdErrorLicense error, incorrect checksum.
      DJISDKFlySafeErrorUploadLicenseDataIndexErrorLicense error, wrong index please retry.
      DJISDKFlySafeErrorUploadLicenseDataErrorUpload license data with error data.
      DJISDKFlySafeErrorUploadLicenseDataCrcCheckFailedLicense error, incorrect crc.
      DJISDKFlySafeErrorUploadLicenseDataSNCheckFailedSLicense error, incorrect serial number.
      DJISDKFlySafeErrorUploadLicenseDataVersionCheckErrorLicense error, wrong version, please try to update the firmware of the drone.
      DJISDKFlySafeErrorUploadLicenseDataDroneInSkyLicense error, can't update license when the drone is flying.
      DJISDKFlySafeErrorLicenseUnlockNotSupportedUnlock error, not supported by the drone.
      DJISDKFlySafeErrorRemoveLicensesFailedForAircraftInAirLicense error, can't delete license when the drone is flying.
      DJISDKFlySafeErrorRemoveLicensesNotSupportLicense error, not supported by the drone.
      DJISDKFlySafeErrorNoDataErrorLicense error, no data.
      DJISDKFlySafeErrorLowFirwareVersionErrorLicense error, please update the firmware of the drone.
      DJISDKFlySafeErrorUnlockVersionErrorUnlock error, incorrect unlock version.
      DJISDKFlySafeErrorOldDataErrorLicense error, local data is obsolete.
      DJISDKFlySafeErrorInvalidKeyVersionErrorLicense error, invalid key version.
      DJISDKFlySafeErrorQueryAreaIdNoExistLicenseErrorLicense error, license ID is not exist.
      DJISDKFlySafeErrorInvalidTokenOnServerErrorServer error, invalid token.
      DJISDKFlySafeErrorUnidentifiedPhoneServer error, unknown phone.
      DJISDKFlySafeErrorUnlockNotUnlockableAreaServer error, invalid area.
      DJISDKFlySafeErrorUnlockTooManyAreasServer error, too many areas.
      DJISDKFlySafeErrorTooMuchLicenseServer error, too many licenses.
      DJISDKFlySafeErrorNoNetworkNetwork error, invalid network.
      DJISDKFlySafeErrorNetworkServerDataErrorNetwork error, data parsing failed in server.
      DJISDKFlySafeErrorLocalUserTokenIsInvalidNetwork error, invalid token.
      DJISDKFlySafeErrorNetworkPageNotFoundNetwork error, page not found(deprecated).
      DJISDKFlySafeErrorPackManagerWrongSerialNumberPackage error, wrong serial number of the drone.
      DJISDKFlySafeErrorDataBaseFileErrorDatabase error, can't unzip the database.
      DJISDKFlySafeErrorDataBaseInvalidParamsDatabase error, invalid parameters when updating database.
      DJISDKFlySafeErrorDataBaseNotReadyDatabase error, load database fail.
      DJISDKFlySafeErrorServerJsonDataParseErrorServer error, incorrect Json data.
      DJISDKFlySafeErrorNetworkSignatureErrorNetwork error, invalid signature.
      DJISDKFlySafeErrorNetworkCheckServerSignatureErrorNetwork error, invalid signature (deprecated).
      DJISDKFlySafeErrorNetworkInvalidRequesetNetwork error, invalid request.
      DJISDKFlySafeErrorNetworkUserIsNotLoginNetwork error, user is not login.
      DJISDKFlySafeErrorNetworkOperationCancelByUserNetwork error, canceled by user(deprecated).
      DJISDKFlySafeErrorPackManagerTimeoutPackage error, time out when waiting for the Ack package from the drone.
      DJISDKFlySafeErrorPackManagerWrongUnlockVersionUnlock error, unlock version from the drone should be "0, 1, or 2".
      DJISDKFlySafeErrorInvalidAreaIdsUnlock error, area ID is not exist in the license.
      DJISDKFlySafeErrorTokenOutOfDateThe Account login is out of date, Need login again.
      DJISDKFlySafeErrorOperationCancelledThe operation is cancelled.
      DJISDKFlySafeErrorAircraftLocationNotAvailableAircraft's location is not available.
      DJISDKFlySafeErrorAircraftSerialNumberNotAvailableAircraft's serial number is not available.
      DJISDKFlySafeErrorInvalidTokenThe token is invalid.
      DJISDKFlySafeErrorNotAuthorizedUser is not authorized.
      DJISDKFlySafeErrorInvalidServerDataData returned by server is invalid.
      DJISDKFlySafeErrorInitializationNotFinishedThe system is still initializing.
      DJISDKFlySafeErrorNotSupportGEOAircraft's location does not support GEO.
      DJISDKFlySafeErrorAreaNotEligibleUnlockThis area is not eligible for unlocking.
      enum DJISDKFlightHubError
      typedef NS_ENUM(NSInteger, DJISDKFlightHubError)
      Header:NSError+DJISDK.h
      Description:

      DJI SDK FlightHub Error.

      Enum Members:
      DJISDKFlightHubErrorSignatureInvalidServer rejected the request because the signature is invalid.
      DJISDKFlightHubErrorNoRightToAccessServer rejected the request because the user does not have the permission.
      DJISDKFlightHubErrorParametersInvalidInvalid parameter(s).
      DJISDKFlightHubErrorNoAuthorizationInformationFoundNo authorization information found.
      DJISDKFlightHubErrorUserNotFoundInUserCenterThe account information is not found.
      DJISDKFlightHubErrorAuthorizationExpiredAuthorization information has expired. Please authorize again.
      DJISDKFlightHubErrorUserNotFoundInFlightHubUser not found in DJI FlightHub system.
      DJISDKFlightHubErrorServicePackageExpiredThe service package has been expired.
      DJISDKFlightHubErrorServicePackageLimitationReachedThe service package has reached the limit of device numbers.
      DJISDKFlightHubErrorUserHasNoSDKPermissionForServicePackageThe service package does not have permission to access SDK service.
      DJISDKFlightHubErrorNoTeamFoundNo team found.
      DJISDKFlightHubErrorNoAircraftFoundNo aircraft found.
      DJISDKFlightHubErrorAircraftAlreadyBoundInTeamChosenThe aircraft has already been bound in the chosen team.
      DJISDKFlightHubErrorNoRecordFoundNo record found.
      DJISDKFlightHubErrorNotLoggedInNo user is logged in.
      DJISDKFlightHubErrorAircraftSerialNumberNotAvailableAircraft's serial number is not available.
      DJISDKFlightHubErrorBoundDeviceLimitationReachedBound device number has reached the limit of your service package.
      DJISDKFlightHubErrorNoHardwareInfoAuthorizationSDK does not have authorization to access hardware information.
      DJISDKFlightHubErrorAircraftAlreadyBoundInTeamChosenInOtherTeamThe aircraft has already been bound in the other team. Please unbind it first.
      enum DJITakeOffActionError
      typedef NS_ENUM(NSInteger, DJITakeOffActionError)
      Header:NSError+DJISDK.h
      Description:

      Error codes for errors specific to DJITakeOffActionErrorDomain.

      Enum Members:
      DJITakeOffActionErrorMotorsAlreadyOnMotors should be off before Take-off action is executed.
      DJITakeOffActionErrorUnknownUnknown.
      enum DJIRTKNetworkServiceError
      typedef NS_ENUM(NSInteger, DJIRTKNetworkServiceError)
      Header:NSError+DJISDK.h
      Description:

      Errors related to RTK network services.

      Enum Members:
      DJIRTKNetworkServiceErrorAuthenticationFailureThe authentication failed when trying to access to the server.
      DJIRTKNetworkServiceErrorInvalidSettingsNetwork settings are not configured yet or invalid.
      DJIRTKNetworkServiceErrorAlreadyStartedThe service is already started. Stop it first to re-start the service.
      DJIRTKNetworkServiceErrorInvalidGPSDataThe GPS location of the aircraft is invalid. The RTK network service requires the location of the air system.
      DJIRTKNetworkServiceErrorIncorrectReferenceStationSourcePlease choose correct reference station srouce.
      DJIRTKNetworkServiceErrorAccountNotLoginOrExpiredNo logged in account or the login session has expired, please login DJI Account and try again.
      DJIRTKNetworkServiceErrorAccountUnactivatedAccount not activated, please contact DJI Support. Use activateNetworkServiceWithPlanType:completion to activate your account.
      DJIRTKNetworkServiceErrorInvalidRequestInvalid request for the RTK service. Please check if the network RTK service is purchased or activated. After purchasing, within 3 minutes, you might also get this error.
      DJIRTKNetworkServiceErrorServerNotReachableUnable to connect to server.
      DJIRTKNetworkServiceErrorAccountErrorUnknown account error, please contact DJI Support.
      DJIRTKNetworkServiceErrorMissingHelperFrameworkPlease add the "DJINetworkRTKHelper.framework" to the project by using Cocoapods (https://cocoapods.org/pods/DJINetworkRTKHelper) to use the network RTK.
      DJIRTKNetworkServiceErrorStartScanFailedForAircraftIsFlyingCannot scan for a base station while the aircraft is flying.
      enum DJIAccessoryAggregationError
      typedef NS_ENUM(NSInteger, DJIAccessoryAggregationError)
      Header:NSError+DJISDK.h
      Description:

      Errors related to accessories on the aircraft (e.g. spotlights, speakers).

      Enum Members:
      DJIAccessoryAggregationErrorNotConnectedThe accessory is not connected. Also update the implementation.
      DJIAccessoryAggregationErrorFileNameLengthInvalidThe file name exceeds the maximum length (20 characters).
      DJIAccessoryAggregationErrorFileNameDuplicatedThe file name is already taken in the aircraft. Choose a different file name.
      DJIAccessoryAggregationErrorFileNameEmptyA file name cannot be empty.
      DJIAccessoryAggregationErrorFileNotExistThe file does not exist in the aircraft.
      DJIAccessoryAggregationErrorFileCreatedAn error occurs when creating the file.
      DJIAccessoryAggregationErrorFileIndexUnavailableThere is no more file index available for the file.
      DJIAccessoryAggregationErrorRenameFileError occurs when renaming the file.
      DJIAccessoryAggregationErrorDataTransmissionDisconnectionThe connection of the speaker is broken and data transmission cannot start.
      DJIAccessoryAggregationErrorWrongDataTransmissionStateThe data transimission operation cannot be executed in the current state.
      DJIAccessoryAggregationErrorDataCorruptionData validation failed. Data is corrupted during the transmission.
      DJIAccessoryAggregationErrorCancelledByUserThe ongoing data transmission is cancelled.
      DJIAccessoryAggregationErrorInterruptedByTimeoutThe ongoing data transmission is interrupted by timeout error.
      DJIAccessoryAggregationErrorStorageFullThe storage is full.
      enum DJIAccessLockerError
      typedef NS_ENUM(NSInteger, DJIAccessLockerError)
      Header:NSError+DJISDK.h
      Description:

      Errors related to the access locker.

      Enum Members:
      DJIAccessLockerErrorInvalidStateThe command is not valid in current state.
      DJIAccessLockerErrorFirmwareWriteWrite failure when updating data in the firmware.
      DJIAccessLockerErrorFirmwareReadRead failure when accessing data in the firmware.
      DJIAccessLockerErrorSecurityCodeIncorrectThe Security Code is incorrect.
      DJIAccessLockerErrorNotSetUpThe user account is not set up for the security feature yet.
      DJIAccessLockerErrorAlreadyUnlockedThe aircraft is already unlocked.
      DJIAccessLockerErrorSecurityCodeIncorrectFiveTimesAttempt with wrong Security Code more than 5 times. The aircraft is disable and try again in 1 minute.
      DJIAccessLockerErrorSecurityCodeIncorrectTwentyTimesAttempt with wrong Security Code more than 20 times. The aircraft is disable and try again in 24 hours.
      DJIAccessLockerErrorUsernameNotExistThe username does not exist.
      DJIAccessLockerErrorSecurityCodeFormatInvalidThe new security code is not valid. A valid security code should contain only numbers and letters and its length is not less than 4 characters and not longer than 8 characters.
      enum DJIPayloadError
      typedef NS_ENUM(NSInteger, DJIPayloadError)
      Header:NSError+DJISDK.h
      Description:

      Errors related to the payload.

      Enum Members:
      DJIPayloadErrorInvalidFormatOfWidgetConfigurationThe format of widget configuration is invalid.
      DJIPayloadErrorCommandCannotBeExecutedInCurrentModeThe command cannot be executed in current payload mode. See DJIPayloadProductPhase.
      DJIPayloadErrorCommandDeviceShouldUsePayloadInterfaceDevice does not support this method, it can connect the aircraft automatically.
      enum DJIUTMISSError
      typedef NS_ENUM(NSInteger, DJIUTMISSError)
      Header:NSError+DJISDK.h
      Description:

      Errors related to the UTMISS.

      Enum Members:
      DJIUTMISSErrorWrongFunctionOrderWrong order of invoking functions. Failed to initialize.
      DJIUTMISSErrorInvalidDBFailed to create database.
      DJIUTMISSErrorCacheFailedFailed to insert the data. The data has been lost.
      DJIUTMISSErrorEmptyDBThe database is currently empty.
      DJIUTMISSErrorUploadFailedFailed to upload. Request code is bigger than 299.
      DJIUTMISSErrorAreaNotSupportCurrent area does not support this function.
      DJIUTMISSErrorStartedAlreadyUTMISS has started already.
      enum DJILDMError
      typedef NS_ENUM(NSInteger, DJILDMError)
      Header:NSError+DJISDK.h
      Description:

      Errors related to the LDM.

      Enum Members:
      DJILDMErrorAreaCodeNotAvailableArea code not available.
      DJILDMErrorNetworkAccessFailedNetwork access failed.
      DJILDMErrorSignErrorSignature error.
      DJILDMErrorAreaCodeRestrictedLDM is not supported in the current area.
      DJILDMErrorAppNotFoundApp does not exist.
      DJILDMErrorLDMLicenseNotValidNo valid LDM certificate exists.
      DJILDMErrorClientTimeNotValidClient's current time is invalid.
      DJILDMErrorLicenseOutDatedLicense has expired.
      DJILDMErrorUnavailableOnly available when the Local Data Mode is enabled.
      DJILDMErrorLDMNetworkAccessFailedIn Local Data Mode. Network access failed!
      DJILDMErrorLDMUnknownErrorLDM unknown error.
      enum DJIUpgradeError
      typedef NS_ENUM(NSInteger, DJIUpgradeError)
      Header:NSError+DJISDK.h
      Description:

      Errors related to the upgrade.

      Enum Members:
      DJIUpgradeErrorInWifiLinkCannot upgrade when using DJIWiFiLink.
      DJIUpgradeErrorDoNotNeedConsistentUpgradeVersions are consistent. No need to upgrade.
      enum DJIWaypointV2Error
      typedef NS_ENUM(NSInteger, DJIWaypointV2Error)
      Header:NSError+DJISDK.h
      Description:

      Errors related to the payload.

      Enum Members:
      DJIWaypointV2ErrorMissionCountOverRangeThe mission waypoint count is larger than max waypoint count 65535.
      DJIWaypointV2ErrorMissionCountTooFewThe mission waypoint count is less than min waypoint count 2.
      DJIWaypointV2ErrorMissionMaxFlightSpeedInvalidThe mission maxFlightSpeed is greater than 15m/s or less than 2m/s. See maxFlightSpeed.
      DJIWaypointV2ErrorMissionAutoFlightSpeedInvalidThe mission autoFlightSpeed is greater than maxFlightSpeed.
      DJIWaypointV2ErrorMissionGotoFirstWaypointModeInvalidThe mission gotoFirstWaypointMode is out of range of DJIWaypointV2MissionGotoFirstWaypointMode.
      DJIWaypointV2ErrorMissionFinishedActionInvalidThe mission finishedAction is out of range of DJIWaypointV2MissionFinishedAction.
      DJIWaypointV2ErrorMissionExitMissionOnRCSignalLostInvalidThe mission exitMissionOnRCSignalLost is invalid.
      DJIWaypointV2ErrorMissionAlreadyExecutingThere is already a mission executing when trying to upload a new mission.
      DJIWaypointV2ErrorUploadWaypointCountOverMissionWaypointCountThe upload waypoint count is bigger than mission waypoint count.
      DJIWaypointV2ErrorMissionWaypointDistanceTooCloseWaypoint is too close to two adjacent waypoints. The min distance is 0.5m.
      DJIWaypointV2ErrorMissionWaypointDistanceToFarWaypoint is too far from two adjacent waypoints, The max distance is 5km.
      DJIWaypointV2ErrorMissionWaypointMaxFlightSpeedOverMissionMaxFlightSpeedThe upload waypoints have a maxFlightSpeed is greater than maxFlightSpeed waypoint.
      DJIWaypointV2ErrorWaypointAutoFlightSpeedOverWaypointMaxFlightSpeedThe upload waypoint has a autoFlightSpeed is greater than maxFlightSpeed waypoint.
      DJIWaypointV2ErrorWaypointAutoFlightSpeedOverMissionMaxFlightSpeedThe upload waypoints have a autoFlightSpeed is greater than maxFlightSpeed waypoint.
      DJIWaypointV2ErrorWaypointHeadingModeInvalidThe waypoint headingMode is invalid.
      DJIWaypointV2ErrorWaypointHeadingInvalidThe waypoint heading is invalid. See heading.
      DJIWaypointV2ErrorWaypointTurnModeInvalidThe waypoint turnMode is invalid.
      DJIWaypointV2ErrorWaypointFlightPathModeInvalidThe waypoint flightPathMode is invalid.
      DJIWaypointV2ErrorWaypointDampingDistanceInvalidThe waypoint dampingDistance is greater than or equal to the distance of adjacent waypoint.
      DJIWaypointV2ErrorLastWaypointFlightPathModeInvalidThe waypoint flightPathMode is invalid for last waypoint.
      DJIWaypointV2ErrorUploadWaypointIndexNotContinueThe index of upload waypoint is not continue after the stored waypoint.
      DJIWaypointV2ErrorFirstWaypointFlightPathModeInvalidThe waypoint flightPathMode is invalid for first waypoint.
      DJIWaypointV2ErrorWaypointCoordinateInvalidThe waypoint position coordinate exceeds rational range.
      DJIWaypointV2ErrorExceedFlyingRadiusLimitThe waypoint position exceeds radius limit.
      DJIWaypointV2ErrorExceedFlyingHeightLimitThe waypoint position exceeds height limit.
      DJIWaypointV2ErrorSDKVersionNotMatchedThe version of the SDK doesn't match the firmware version.
      DJIWaypointV2ErrorDownloadMissionRangeOverStorageCountThe index of first and last waypoint expected to download is not in range of waypoints stored in aircraft.
      DJIWaypointV2ErrorNoMissionUploadedInAircraftThere is no mission uploaded in aircraft.
      DJIWaypointV2ErrorDownloadWaypointNotUploadedThe mission info is not uploaded yet.
      DJIWaypointV2ErrorAircraftCurrentPostionToFirstWaypointTooFarThe aircraft current position is too far away from the first waypoint.
      DJIWaypointV2ErrorUploadedWaypointsTooFewThe uploaded waypoints are too few.
      DJIWaypointV2ErrorNoMissionExecutingThere is no mission executing.
      DJIWaypointV2ErrorMissionAlreadyStartedThe mission has already started by calling startMissionWithCompletion.
      DJIWaypointV2ErrorMissionAlreadyStoppedThe mission has already stopped by calling stopMissionWithCompletion.
      DJIWaypointV2ErrorNoExecutingMissionToRecoverThere is no executing mission to recover when calling recoverMissionWithCompletion.
      DJIWaypointV2ErrorMissionAlreadyInterruptedThe mission has already been interrupted by calling interruptMissionWithCompletion.
      DJIWaypointV2ErrorRecoverNoRecordedPointThere is no waypoint recorded to recover the mission when recoverMissionWithCompletion is called.
      DJIWaypointV2ErrorAircraftFlyingStatusErrorThe aircraft flying status is bad.
      DJIWaypointV2ErrorAircraftStateHomePointNotRecordThe aircraft home point is not recorded yet.
      DJIWaypointV2ErrorAircraftGPSSignalWeakThe aircraft GPS signal is weak.
      DJIWaypointV2ErrorAircraftRTKNotReadyThe aircraft RTK is not ready.
      DJIWaypointV2ErrorMissionCrossNoFlyZoneThe mission is across the no-fly zone.
      DJIWaypointV2ErrorAircraftLowBatteryThe aircraft battery is low.
      DJIWaypointV2ErrorUploadedActionIdDuplicatedThe uploaded action ID is duplicated.
      DJIWaypointV2ErrorActionStorageNotEnoughThere is not enough space to store actions in aircraft.
      DJIWaypointV2ErrorDownloadActionsFailedDownload actions failed.
      DJIWaypointV2ErrorUploadActionTriggerTypeInvalidThe upload action trigger type is invalid.
      DJIWaypointV2ErrorActionAssociateTriggerTypeInvalidThe action associate trigger actionAssociatedType is invalid.
      DJIWaypointV2ErrorActionIntervalTriggerTypeInvalidThe action associate trigger actionIntervalType is invalid.
      DJIWaypointV2ErrorActionActuatorNotSupportThe action actuator is not supported.
      DJIWaypointV2ErrorActionActuatorTypeInvalidThe action actuator type is invalid.
      DJIWaypointV2ErrorActionActuatorOperationTypeInvalidThe action actuator operation type is invalid. See operationType or operationType or operationType.
      DJIWaypointV2ErrorActionActuatorGimbalParamInvalidThe action gimbal actuator parameters are invalid.
      DJIWaypointV2ErrorActionRotateGimbalFailedThe action actuator rotate gimbal failed.
      DJIWaypointV2ErrorActionRotateAircraftYawParamInvalidThe action DJIWaypointV2AircraftControlParam parameters are invalid.
      DJIWaypointV2ErrorActionRotateAircraftYawFailedThe action actuator rotate aircraft yaw execute failed.
      DJIWaypointV2ErrorActionAircraftStartStopFlyFailedThe action actuator aircraft start or stop fly execute failed. For example: when the aircraft is flying, an error will occur when the isStartFlying(TRUE) action is executed. You should execute isStartFlying(FALSE) first.
      DJIWaypointV2ErrorActionActuatorAndTriggerDoNotMatchThe action actuator and the trigger type do not match.
      DJIWaypointV2ErrorMissionWaypointInterruptReasonAvoidThe waypoint mission is interrupted by by obstacle avoidance system.
      DJIWaypointV2ErrorMissionWaypointInterruptReasonAvoidRadiusLimitThe waypoint mission is interrupted because of radius limit.
      DJIWaypointV2ErrorMissionWaypointInterruptReasonAvoidHeightLimitThe waypoint mission is interrupted because of height limit.
      DJIWaypointV2ErrorMissionWaypointInterruptReasonAvoidRTKUnhealthyThe waypoint mission is interrupted because of RTK week signal.
      DJIWaypointV2ErrorMissionWaypointInterruptReasonAvoidUserReqBreakThe waypoint mission is interrupted because of user request.
      DJIWaypointV2ErrorMissionWaypointCommandCannotExecuteCommand cannot execute.
      DJIWaypointV2ErrorMissionWaypointCommandExecutionFailedCommand execution failed.
      DJIWaypointV2ErrorMissionWaypointInvalidParametersInvalid parameters.
      DJIWaypointV2ErrorMissionWaypointCommonTimeoutCommon timeout.
      DJIWaypointV2ErrorMissionWaypointProductConnectFailedProduct connection failed.
      DJIWaypointV2ErrorMissionWaypointSystemBusySystem busy.
      DJIWaypointV2ErrorMissionWaypointOperationCancelByUserOperation cancel by user.
      DJIWaypointV2ErrorMissionWaypointUploadMediaFileFailedUpload media file failed.
      DJIWaypointV2ErrorMissionWaypointSdrReserveFailedSDR reserve failed.
      DJIWaypointV2ErrorMissionWaypointCheckPhotoStoragePackErrorCheck photo storage pack error.
      DJIWaypointV2ErrorMissionWaypointSdrLinkReserveFailedCauseMotorOnSDR link reserve failed because motor is on.
      DJIWaypointV2ErrorMissionWaypointTrajectoryReplayInvalidLocationThe trajectory replay's location is invalid.
      DJIWaypointV2ErrorMissionWaypointTrajectoryReplayNoWaypointToRemoveThe trajectory replay has no waypoint to remove.
      DJIWaypointV2ErrorMissionWaypointTrajectoryReplayGimbalAttiErrorThe trajectory replay's gimbal attitude has error.
      DJIWaypointV2ErrorMissionWaypointInvalidInputDataFCLengthData transmission does not match protocols.
      DJIWaypointV2ErrorMissionWaypointInvalidInputDataFloatNumberInvalid floating number.
      DJIWaypointV2ErrorMissionEndIndexInvalidLast waypoint index is invalid.
      DJIWaypointV2ErrorMissionReferenceLocationInvalidInvalid reference location point, please check your aircraft location with your waypoints.
      DJIWaypointV2ErrorMissionWaypointIndexInvalidInvalid waypoint index, please check your waypoint index with waypoint count.
      DJIWaypointV2ErrorMissionWaypointStartIndexNotInEndOfLastUploadThe upload waypoint start index isn't in the given range.
      DJIWaypointV2ErrorMissionControlStartStopInvalidThe aircraft start waypoint is too far away from the stop waypoint.
      DJIWaypointV2ErrorMissionControlPauseResumeInvalidInvalid pause resume operation.
      DJIWaypointV2ErrorMissionControlInterruptRecoverInvalidInvalid interrupt recover operation.
      DJIWaypointV2ErrorMissionControlMissionAlreadyPausedThe mission is already paused.
      DJIWaypointV2ErrorMissionControlNoRunningMissionForResumeThe mission cannot resume because it is not running.
      DJIWaypointV2ErrorMissionControlNotSupportPauseResumeThe mission cannot be paused or resumed now.
      DJIWaypointV2ErrorMissionControlNotSupportInterruptResumeThe mission cannot be interrupted or recovered now.
      DJIWaypointV2ErrorRecoverNoCurrentProjectionPointNo recorded waypoint for recovery currently.
      DJIWaypointV2ErrorRecoverNoNextProjectionPointNo recorded waypoint for next waypoint recovery.
      DJIWaypointV2ErrorRecoverNoNextTwoProjectionPointNo recorded waypoint for next 2 waypoint recovery.
      DJIWaypointV2ErrorUploadActionTriggerReachEndIndexLessStartIndexUploaded reach trigger invalid.
      DJIWaypointV2ErrorUploadActionTriggerReachIntervalCountInvalidUploaded reach trigger invalid.
      DJIWaypointV2ErrorUploadActionTriggerReachAutoTerminateInvalidUploaded reach trigger invalid.
      DJIWaypointV2ErrorUploadActionActuatorSprayExternalSprayModeInvalidUploaded spray actuator is invalid.
      DJIWaypointV2ErrorUploadActionActuatorSprayFlowSpeedInvalidUploaded spray actuator is invalid.
      DJIWaypointV2ErrorUploadActionActuatorSprayFlowSpeedPreMuInvalidUploaded spray actuator is invalid.
      DJIWaypointV2ErrorActionActuatorPayloadFailToSendCMDToPayloadUploaded payload actuator is invalid.
      DJIWaypointV2ErrorActionActuatorPayloadExecFailedUploaded payload actuator is invalid.
      enum DJIPipelineError
      typedef NS_ENUM(NSInteger, DJIPipelineError)
      Header:NSError+DJISDK.h
      Description:

      Errors related to the DJIPipelines.

      Enum Members:
      DJIPipelineErrorUnknownUnknown.
      DJIPipelineErrorCRCCheckFailedCRC check failed.
      DJIPipelineErrorInvalidParametersInvalid Parameters.
      DJIPipelineNotEnoughMemoryNot enough memory.
      DJIPipelineErrorNotReadyUsually occurs when allocating the local pipeline ID.
      DJIPipelineErrorSendFailedSend data exception.
      DJIPipelineErrorReceiveFailedReceiving data exceptions.
      DJIPipelineErrorTimeoutTimeout error.
      DJIPipelineErrorBusyOperationBusy now, please try again later.
      DJIPipelineErrorUnacceptableOperationsResource occupied, please select another ID connection.
      DJIPipelineErrorConnectionClosedConnection closed, no need to call again.
      DJIPipelineErrorConnectionConnectingConnecting, no need to call again.
      DJIPipelineErrorResourcesNotAvailableLocal resources are ineffective and unavailable. Please recreate.
      DJIPipelineErrorConnectionClosingConnection closing, no need to call again.
      DJIPipelineErrorNotConnectedConnection has not established.
      DJIPipelineErrorLinkBreakLink broken, please check the connection with the aircraft.
      DJIPipelineErrorConnectionRefusedThe target device refuses to connect.
      DJIPipelineErrorIdIsOccupiedDuplicated binding is not allowed. Please try to bind with a new ID.
      DJIPipelineErrorInternalStatusErrorInternal status error. Please recreate the Pipeline object.
      enum DJISDKMissionError
      typedef NS_ENUM (NSInteger, DJISDKMissionError)
      Header:NSError+DJISDK.h
      Description:

      DJI SDK Mission Error.

      Enum Members:
      DJISDKWaypointMissionParameterErrorMaxFlightSpeedMax Flight speed value provided is invalid.
      DJISDKWaypointMissionParameterErrorAutoFlightSpeedAuto flight speed value provided is invalid.
      DJISDKWaypointMissionParameterErrorRepeatTimeRepeat time value provided is invalid.
      DJISDKWaypointMissionParameterErrorWaypointCountWaypoint count exceeds the maximum limit.
      DJISDKWaypointMissionAbsentErrorWaypoint mission is absent from the operator (upload failed somehow).
      DJISDKWaypointParameterErrorCoordinateWaypoint coordinate provided is invalid.
      DJISDKWaypointParameterErrorAltitudeWaypoint altitude provided is invalid.
      DJISDKWaypointParameterErrorHeadingWaypoint heading provided is invalid.
      DJISDKWaypointParameterErrorActionRepeatTimeWaypoint repeat time provided is invalid.
      DJISDKWaypointParameterErrorActionTimeoutWaypoint action timeout provided is invalid.
      DJISDKWaypointParameterErrorCornerRadiusWaypoint corner radius provided is invalid.
      DJISDKWaypointParameterErrorGimbalPitchWaypoint gimbal pitch provided is invalid.
      DJISDKWaypointParameterErrorSpeedWaypoint speed provided is invalid.
      DJISDKWaypointParameterErrorShootPhotoDistanceWaypoint shoot photo distance provided is invalid.
      DJISDKWaypointParameterErrorStayActionParamWaypoint stay action param provided is invalid.
      DJISDKWaypointParameterErrorRotateGimbalActionParamWaypoint rotate gimbal action param provided is invalid.
      DJISDKWaypointParameterErrorRotateAircraftActionParamWaypoint rotate aircraft action param provided is invalid.
      DJISDKWaypointParameterErrorIndeciesAreDiscontinuousWaypoint indecies are discontinuous.
      DJISDKWaypointParameterErrorIndexOutOfRangeWaypoint index out of range.
      DJISDKWaypointParameterErrorInvalidDataSizeWaypoint data size is invalid. It is for internal usage.
      DJISDKWaypointParameterErrorTakeoffFailureCausedByAttitudeThe aircraft cannot take off because of improper aircraft's attitude.
      DJISDKWaypointGetInterruptionFailureForCompleteMissionThe waypoint mission interruption is not available because the last mission completed successfully.
      DJISDKWaypointGetInterruptionFailureWithoutReachingFirstWaypointThe waypoint mission interruption is not available because the aircraft didn't reach the first waypoint in the last mission.
      DJISDKHotpointErrorSystemAbnormalSystem error, please try again. If the error continues, restart the aircraft.
      DJISDKHotpointErrorTargetAreaIsTooSmallFrame selection subject too small.
      DJISDKHotpointErrorInsufficientFeaturesInTargetAreaFrame selection subject texture not obvious.
      DJISDKHotpointErrorLostTargetWhileWatchingTracking subject lost while watching.
      DJISDKHotpointErrorLostTargetWhileExecutingTracking subject lost while executing.
      DJISDKHotpointErrorReprojectionFailedWhileExecutingFailed to estimate, please try again.
      DJISDKHotpointErrorTargetTooCloseFrame subject too close.
      DJISDKHotpointErrorTargetSizeChangedTarget size changed, please try again. If the error persists, restart the aircraft.
      DJISDKHotpointErrorGPSAbnormalGPS signal weak. Please try again in an open area.
      DJISDKHotpointErrorHotpointInvalidHotpoint parameter do not meet requirements.
      DJISDKHotpointErrorWatchTargetFailedGimbal reached movement limit, subjecting failed. Please try again.
      DJISDKHotpointErrorEstimateTimeoutEstimate timeout, mission exit.
      DJISDKHotpointErrorEstimateResultInvalidFailed to estimate subject location.
      DJISDKHotpointErrorExitByUserButtonCurrent mission exit by user button.
      DJISDKHotpointErrorRadiusLimitThe aircraft reach the distance limit. Please operate the aircraft within the distance limit.
      DJISDKHotpointErrorAlitudeLimitThe aircraft reach the altitude limit. Please operate the aircraft within the Altitude limit.
      DJISDKHotpointErrorControlFailedIntelligent Hotpoint mission execute failed, the description is the fail reason.
      DJISDKHotpointErrorLostConnectionWithRemoteControllerLost connection with remoteController.
      DJISDKHotpointErrorObstacleEncounteredWhileEstimatingObstacles encountered while estimating, current mission quitted.
      DJISDKHotpointErrorObstacleEncounteredWhileSurroundingObstacles encountered while surrounding, current mission suspended.
      DJISDKHotpointErrorTargetIsTooFarawayTarget is too faraway, the aircraft needs to continue to measure distance.
      DJISDKHotpointErrorAltitudeTooLowAircraft's altitude is too low to execute hotpoint mission.
      DJISDKMissionErrorMultiModeDisabledThe mission cannot start when multi-mode is disabled.
      DJISDKMissionErrorModeErrorCannot execute in the current mode. For products and flight controller firmware versions that support 'F' mode (e.g. Phantom 3 Professional, Inspire 1, A3 with flight controller firmware version lower than 3.2.10.0, etc), please make sure the remote controller's mode switch is in 'F' mode. For the others, please make sure the remote controller's mode switch is in 'P' mode.
      DJISDKMissionErrorGPSSignalWeakThe GPS signal of the aircraft is weak.
      DJISDKMissionErrorAircraftLowBatteryLow battery level warning.
      DJISDKMissionErrorAircraftNotInTheAirThe aircraft is not in the air.
      DJISDKMissionErrorAircraftAltitudeTooHighThe aircraft's altitude is too high.
      DJISDKMissionErrorAircraftAltitudeTooLowThe aircraft's altitude is too low.
      DJISDKMissionErrorAircraftTakingOffAircraft is taking off.
      DJISDKMissionErrorAircraftLandingAircraft is landing.
      DJISDKMissionErrorAircraftGoingHomeAircraft is going home.
      DJISDKMissionErrorAircraftStartingEngineAircraft is starting engine.
      DJISDKMissionErrorAircraftHomePointNotRecordedThe home point of the aircraft is not recorded.
      DJISDKMissionErrorAircraftLostFollowMeTargetAircraft lost the follow target.
      DJISDKMissionErrorAircraftInNoviceModeAircraft is in novice mode.
      DJISDKMissionErrorAircraftInNoFlyZoneAircraft is in a no fly zone.
      DJISDKMissionErrorReachFlightLimitationThe aircraft has reached the flight limitation.
      DJISDKMissionErrorAircraftRunningMissionThe aircraft is running a mission.
      DJISDKMissionErrorAircraftNoRunningMissionAircraft is not running a mission.
      DJISDKMissionErrorAircraftNoMissionNo aircraft mission.
      DJISDKMissionErrorAircraftNearHomePointAircraft is too close to the home point.
      DJISDKMissionErrorAircraftFarAwayMissionAircraft is too far away from the mission.
      DJISDKMissionErrorMissionParametersInvalidThe parameters of the mission are invalid.
      DJISDKMissionErrorMissionTotalDistanceTooLargeMission's total distance is too large.
      DJISDKMissionErrorMissionNeedTooMuchTimeMission needs too much time to execute.
      DJISDKMissionErrorMissionResumeFailedMission resume failed.
      DJISDKMissionErrorCommandCanNotExecuteCommand can not be executed. This is sometimes because commands are sent too frequently.
      DJISDKMissionErrorAircraftAlreadyInCommandStateAircraft already in command state. Repeating the same command results in this error.
      DJISDKMissionErrorMissionNotReadyMission not prepared.
      DJISDKMissionErrorCustomMissionStepCannotPauseCustom mission step can not be paused.
      DJISDKMissionErrorCustomMissionStepsNotInitializedCustom mission is not initialized with the mission steps. The Steps array is empty.
      DJISDKMissionErrorCustomMissionStepInitializingCurrent mission step is initializing.
      DJISDKMissionErrorTrackingTargetLostThe tracking target is lost.
      DJISDKMissionErrorNoVideoFeedNo live video feed is captured for the ActiveTrack Mission.
      DJISDKMissionErrorVideoFrameRateTooLowThe frame rate of the live video feed is too low.
      DJISDKMissionErrorVisionSystemNotAuthorizedThe vision system cannot get the authorization to control the aircraft.
      DJISDKMissionErrorVisionSystemErrorThe vision system encounters system error.
      DJISDKMissionErrorCannotBypassObstacleThe aircraft cannot bypass the obstacle.
      DJISDKMissionErrorStoppedByUserMission was stopped by the user.
      DJISDKMissionErrorVisionSystemNeedsCalibrationThe vision system requires calibration.
      DJISDKMissionErrorVisionSensorOverexposedThe vision sensors are overexposed.
      DJISDKMissionErrorVisionSensorUnderexposedThe vision sensors are underexposed.
      DJISDKMissionErrorVisionDataAbnormalThe data from the vision system is abnormal.
      DJISDKMissionErrorFeaturePointCannotMatchThe feature points found by both vision sensors cannot match.
      DJISDKMissionErrorTrackingRectTooSmallThe tracking rectangle is too small.
      DJISDKMissionErrorTrackingRectTooLargeThe tracking rectangle is too large.
      DJISDKMissionErrorTrackingTargetNotEnoughFeaturesThe tracking target doesn't have enough features to lock onto.
      DJISDKMissionErrorTrackingTargetTooCloseThe Tracking target is too close to the aircraft.
      DJISDKMissionErrorTrackingTargetTooFarThe tracking target is too far away from the aircraft.
      DJISDKMissionErrorTrackingTargetTooHighThe tracking target is too high.
      DJISDKMissionErrorTrackingTargetShakingThe tracking target is shaking too much.
      DJISDKMissionErrorTrackingTargetLowConfidenceThe ActiveTrack mission is too unsure the tracking object and confirmation is required.
      DJISDKMissionErrorTrackingPausedByUserMission is paused by user.
      DJISDKMissionErrorGimbalPitchTooLowGimbal pitch is too low.
      DJISDKMissionErrorGimbalPitchTooLargeGimbal pitch is too large.
      DJISDKMissionErrorTrackingObstacleDetectedEncounter an obstacle.
      DJISDKMissionErrorTapFlyDirectionInvalidTapFly direction invalid.
      DJISDKMissionErrorVisionSystemNotAvailableThe front vision system is not available.
      DJISDKMissionErrorInitializationFailedThe initialization of the mission failed.
      DJISDKMissionErrorCannotPauseOrResumeMission can not pause or resume.
      DJISDKMissionErrorReachAltitudeLowerBoundThe aircraft reaches the altitude lower bound of the TapFly Mission.
      DJISDKMissionErrorRTKSignalWeakRTK's signal is weak.
      DJISDKMissionErrorLandingGearDeployedAircraft's landing gear is deployed.
      enum DJISDKFlightControllerError
      typedef NS_ENUM (NSInteger, DJISDKFlightControllerError)
      Header:NSError+DJISDK.h
      Description:

      DJI SDK Flight Controller Error.

      Enum Members:
      DJISDKFlightControllerErrorModeErrorMode error.
      DJISDKFlightControllerErrorNearHomePointAircraft too close to the home point.
      DJISDKFlightControllerErrorRunningMissionAircraft currently running a mission.
      DJISDKFlightControllerErrorRunningVirtualStickAircraft currently running virtual stick.
      DJISDKFlightControllerErrorAircraftNotInTheAirAircraft not in the air.
      DJISDKFlightControllerErrorFlightLimitedAircraft flight limited.
      DJISDKFlightControllerErrorGPSSignalWeakGPS level is not high enough to allow flight controller to obtain accurate location.
      DJISDKFlightControllerErrorLowBatteryAircraft low battery.
      DJISDKFlightControllerErrorHomePointNotRecordedAircraft home point not recorded.
      DJISDKFlightControllerErrorTakingOffAircraft taking off.
      DJISDKFlightControllerErrorLandingAircraft landing.
      DJISDKFlightControllerErrorGoingHomeAircraft going home.
      DJISDKFlightControllerErrorStartingEngineAircraft starting engine.
      DJISDKFlightControllerErrorInNoFlyZoneAircraft in a no fly zone.
      DJISDKFlightControllerErrorMotorsStartedCommand can not be executed because the motors started.
      DJISDKFlightControllerErrorGimbalNotRemovedAircraft could not enter transport mode, since the gimbal is still connected.
      DJISDKFlightControllerErrorCannotTurnOffMotorsWhileAircraftFlyingThe aircraft is flying. For safety consideration, the motors could not be shut down.
      DJISDKFlightControllerErrorHomePointTooFarThe new home point is too far.
      DJISDKFlightControllerErrorGoHomeAltitudeTooLowThe new home altitude is too low. (Lower than 20m).
      DJISDKFlightControllerErrorGoHomeAltitudeTooHighThe new home altitude is too high. (higher than 500m).
      DJISDKFlightControllerErrorRemoteControllerModeErrorThe remote controller's mode switch is not in correct mode.
      DJISDKFlightControllerErrorVirtualStickControlModeErrorThe virtual stick control mode is not available.
      DJISDKFlightControllerErrorAircraftNotAutoLandingThe aircraft is not at auto landing state.
      DJISDKFlightControllerErrorAircraftNotGoingHomeThe aircraft is not at go home state.
      DJISDKFlightControllerErrorRTKCannotStartRTK cannot start properly. Please reboot.
      DJISDKFlightControllerErrorRTKConnectionBrokenConnection between base station and mobile station is broken.
      DJISDKFlightControllerErrorRTKBSAntennaErrorRTK base station antenna error. Check if the antenna is connected to the correct port.
      DJISDKFlightControllerErrorRTKBSCoordinatesResetRTK base station's coordinate resets.
      DJISDKFlightControllerErrorIllegalBatteryIllegal battery.
      DJISDKFlightControllerErrorInTripodModeAircraft is in tripod mode.
      DJISDKFlightControllerErrorBaseStationNotActivatedThe base station isn't activated.
      DJISDKFlightControllerErrorBaseStationIsMovedThe base station is moved. Land the aircraft to re-establish the connection to the ground station.
      DJISDKFlightControllerErrorBaseStationFellThe base station fell. Land the aircraft to re-establish the connection to the base station.
      DJISDKFlightControllerErrorRTKBasestationParameterReadOnlyBase station internal error. Parameters read only. Please contact .
      DJISDKFlightControllerErrorRTKBasestationParameterUnknownErrorBase station parameters internal error. Please contact .
      DJISDKFlightControllerErrorGravityCenterCalibrationNotFlyingThe aircraft cannot start the gravity center calibration because it is not flying.
      DJISDKFlightControllerErrorGravityCenterCalibrationCanNotWorkInSimulatorThe aircraft cannot start the gravity center calibration because the simulator starts.
      DJISDKFlightControllerErrorGravityCenterCalibrationIsRunningThe aircraft cannot start the gravity center calibration before the previous calibration finishes.
      DJISDKFlightControllerErrorGravityCenterCalibrationNotHoveringThe aircraft cannot start the gravity center calibration because it is not hovering.
      DJISDKFlightControllerErrorGravityCenterCalibrationStoppedByUserThe gravity center calibration is stopped by the user.
      DJISDKFlightControllerErrorGravityCenterCalibrationFailedInBigWindThe gravity center calibration is interrupted because the wind is too strong.
      DJISDKFlightControllerErrorCannotBeExecutedWithCurrentAttitudeThe command cannot be executed with the current attitude.
      DJISDKFlightControllerErrorRTKBasestationNeedLoginFor Matrice 300 RTK, you must login before you can set name, or use setBaseStationReferencingLocation:withCompletion etc.
      DJISDKFlightControllerErrorRTKBasestationPasswordInvalidBase station administrator account password is invalid. Please login again. If you reset your password, please use the default password.
      enum DJISDKCameraError
      typedef NS_ENUM (NSInteger, DJISDKCameraError)
      Header:NSError+DJISDK.h
      Description:

      DJI SDK Camera Error.

      Enum Members:
      DJISDKCameraErrorFirmwareDoesNotSupportCommandNot supported command or command not support in this firmware.
      DJISDKCameraErrorMemoryAllocationFailedCamera memory allocation failed error.
      DJISDKCameraErrorCommandCurrentlyNotEnabledCamera busy or command could not execute in current state.
      DJISDKCameraErrorTimeNotSyncedCamera time not synced.
      DJISDKCameraErrorSDCardNotInsertedNo SD card.
      DJISDKCameraErrorSDCardFullSD card full.
      DJISDKCameraErrorSDCardErrorSD card error.
      DJISDKCameraErrorSensorErrorCamera sensor error.
      DJISDKCameraErrorSystemErrorCamera system error.
      DJISDKCameraErrorMediaTypeErrorThe command is not supported by the media file type.
      DJISDKCameraErrorNoSuchMediaFileThe media file is not found in SD card.
      DJISDKCameraErrorMediaCommandAbortedThe command is aborted unexpectedly.
      DJISDKCameraErrorMediaFileDataCorruptedData is corrupted during the file transmission.
      DJISDKCameraErrorInvalidMediaCommandThe media command is invalid.
      DJISDKCameraErrorNoPermissionThere is no permission to access the media file.
      DJISDKCameraErrorPlaybackDownloadInterruptionThe download process of DJIPlaybackManager is interrupted.
      DJISDKCameraErrorPlaybackNoDownloadingFilesThere is no downloading files to stop.
      DJISDKCameraErrorSSDErrorCamera has no SSD.
      DJISDKCameraErrorSSDFullThe Camera's SSD is full.
      DJISDKCameraErrorSSDNotInsertedError accessing the SSD.
      DJISDKCameraErrorMediaFileResetMedia file is reset. The operation cannot be executed.
      DJISDKCameraErrorCurrentModeNotSupportedNot supported in current mode, please change to RECORD_VIDEO mode.
      DJISDKCameraErrorLaserMeasureFailedForTooCloseThe laser sensor is too close to the target object.
      DJISDKCameraErrorLaserMeasureFailedForTooFarThe laser sensor is too far from the target object.
      DJISDKCameraErrorLaserMeasureFailedForTooCloseOrTooFarThe laser sensor is too close or too far away from the target object, please make sure the distance to the target object is greater than 3m.
      DJISDKCameraErrorLaserMeasureFailedForNoSignalThe laser sensor has no signal.
      DJISDKCameraErrorPanoramaNotFlyingPanorama mode cannot work until the aircraft takes off.
      enum DJISDKError
      typedef NS_ENUM (NSInteger, DJISDKError)
      Header:NSError+DJISDK.h
      Description:

      DJI SDK Error.

      Enum Members:
      DJISDKErrorSDKFeatureNotSupportedFeature not supported error.
      DJISDKErrorApplicationNotActivatedApplication not activated error.
      DJISDKErrorSDKLevelNotPermittedSDKLevel not permitted error.
      DJISDKErrorTimeoutTimeout error.
      DJISDKErrorSystemBusySystem busy error.
      DJISDKErrorInvalidParametersParameters invalid error.
      DJISDKErrorParameterGetFailedGet parameter failed error.
      DJISDKErrorParameterSetFailedSetting parameters operation failed.
      DJISDKErrorCommandExecutionFailedCommand execute failed error.
      DJISDKErrorSendDataFailedSend data failed error.
      DJISDKErrorConnectionToSDKFailedConnection to SDK failed error.
      DJISDKErrorServerDataNotReadyServer data not ready.
      DJISDKErrorProductUnknownProduct unknown.
      DJISDKErrorProductNotSupportProduct not support.
      DJISDKErrorDeviceNotFoundDevice not found.
      DJISDKErrorNotSupportedByFirmwareThe command is not supported by the current firmware version.
      DJISDKErrorReceivedDataInvalidThe received data is invalid.
      DJISDKErrorNoReceivedDataNo data is received.
      DJISDKErrorBluetoothOffThe Bluetooth is off. Turn it on in iOS settings menu.
      DJISDKErrorOperationCancelledOperation is cancelled.
      DJISDKErrorInternetNetworkIsNotReachableThe Internet is not reachable.
      DJISDKErrorLDMIsNotSupportedLocal Data Mode (LDM) is not supported in your context.
      DJISDKErrorNoExistingArchiveLogsThere are no existing archived logs.
      DJISDKErrorBeyondMaximumAllowedSizeThe pack to send is more than the maximum allowed size.
      DJISDKErrorReachChannelBandwidthThe current transmission rate already reached the channel's bandwidth. Re-send data later.
      DJISDKErrorCanNotExecuteThe operation can't be executed in current state.
      DJISDKErrorHigherLevelTaskExecutingThe operation can't be executed because a higher level task is executing.
      DJISDKErrorCommandNotSupportByCurrentStateThe operation can't be executed because the command can not be executed in the current state of product.
      DJISDKErrorAircraftNotConnectedThe aircraft has not connected.
      DJISDKErrorInvalidCameraObjectThe operation can't be executed by multi-lens camera. Please use lens object.
      DJISDKErrorNotDefinedNot defined error.
      DJISDKRegistrationErrorSDKVersionBlockedSDK Version is blocked.
      DJISDKRegistrationErrorActivateFailedApp activation failed.
      DJISDKRegistrationErrorAppKeyBlockedApp key is blocked.
      enum DJISDKRegistrationError
      typedef NS_ENUM (NSInteger, DJISDKRegistrationError)
      Header:NSError+DJISDK.h
      Description:

      The Error of SDK Registration.

      Enum Members:
      DJISDKRegistrationErrorCouldNotConnectToInternetThe application is not able to connect to the Internet the first time it tries to register the API Key.
      DJISDKRegistrationErrorInvalidAppKeyThe application key you provided is incorrect.
      DJISDKRegistrationErrorHTTPTimeoutThe network you are trying to reach is busy, or the server is unreachable.
      DJISDKRegistrationErrorDeviceDoesNotMatchThe attempt to copy metadata from another registered device to a device that is currently connected is not permitted. For example, if a developer has two devices and the application is activated with the app key on one of the devices and if the other device is plugged in and tries to register the application, this error will occur.
      DJISDKRegistrationErrorBundleIdDoesNotMatchThe bundle identifier of your application does not match the bundle identifier you registered on the developer website when you applied to obtain an application key.
      DJISDKRegistrationErrorAppKeyProhibitedThe application key is prohibited. This occurs when an application key that has already been released by DJI is revoked. Please contact DJI for assistance.
      DJISDKRegistrationErrorMaxActivationCountReachedThere is a maximum number of devices one application key can be used to activate. The maximum number of devices is given when an application is registered on the DJI developer website. This error will occur if the maximum number of activations has been reached.
      DJISDKRegistrationErrorAppKeyInvalidPlatformErrorThis error occurs when an application key was given for a specific platform and is trying to be used to activate an application for another platform. For instance, if an application key was given for an iOS application and is used to activate an Android application, this error will occur.
      DJISDKRegistrationErrorAppKeyDoesNotExistThe application key does not exist. Please make sure the application key you are entering is correct.
      DJISDKRegistrationErrorAppKeyLevelNotPermittedThere are two levels for the SDK framework, level 1 and level 2. If an application key was given under one level and is trying to be used to active an application using another level SDK framework, this error will occur.
      DJISDKRegistrationErrorServerParseFailureThere is a server error. Please contact DJI for assistance.
      DJISDKRegistrationErrorServerWriteErrorThere is a server error. Please contact DJI for assistance.
      DJISDKRegistrationErrorServerDataAbnormalThere is a server error. Please contact DJI for assistance.
      DJISDKRegistrationErrorInvalidMetaDataThe activation data received from server is invalid. Please reconnect to the internet and try again.
      DJISDKRegistrationErrorEmptyAppKeyNo application key was provided.
      DJISDKRegistrationErrorOverMaxActivationsCountApplications under basic develop account could only have the maximum of 20 unique activations. Visit DJI developer center to upgrade the membership.
      DJISDKRegistrationErrorAppKeyNotEnrolledByBetaSDKThe application is not enrolled in the Beta Program. Use an app key under the Beta Program instead.
      DJISDKRegistrationErrorInvalidAppKeyForBetaVersionThe app key is invalid for this beta version.
      DJISDKRegistrationErrorDownloadFlySafeDatabaseFailedWithLDMModeOnDownload flysafe database failed. You can close LDM mode to retry register App or Use cocoapods to embed flysafe database.
      DJISDKRegistrationErrorUnknownAn unknown error occurred when the application was trying to register. Please contact DJI for assistance.
      class