Camera
Defined in framework ScanditDataCaptureCore
- SDCTorchState
Added in version 6.0.0
Possible values for the torch state.
- SDCTorchStateOn
Added in version 6.0.0
Value to indicate that the torch is turned on.
- SDCTorchStateOff
Added in version 6.0.0
Value to indicate that the torch is turned off.
- SDCTorchStateAuto
Added in version 6.3.0
Value to indicate that the torch is managed automatically. The torch is turned on or off based on the available illumination.
Note
This is an experimental feature. This functionality may or may not work for your use case or may be removed in future version of this software.
- SDCTorchListener
@protocol SDCTorchListener <NSObject>
Added in version 6.3.0
Interface definition for a callback to be invoked when the SDCTorchState of a SDCCamera changes.
- - didChangeTorchToState:
- (
void
)didChangeTorchToState:(SDCTorchState)torchStateAdded in version 6.3.0
Called when SDCTorchState changed.
- SDCMacroModeListener
@protocol SDCMacroModeListener <NSObject>
Added in version 6.17.0
Interface definition for a callback to be invoked when the SDCMacroMode of a SDCCamera changes.
- - didChangeMacroMode:
- (
void
)didChangeMacroMode:(SDCMacroMode)macroModeAdded in version 6.17.0
Called when SDCMacroMode changed.
- SDCCamera
@interface SDCCamera : NSObject <SDCFrameSource>
Added in version 6.0.0
Gives access to the built-in camera on iOS. It implements the SDCFrameSource protocol, and, as such can be set as the frame source for the SDCDataCaptureContext.
Instances of this class are created through one of the factory methods defaultCamera, or cameraAtPosition:.
The camera is started by changing the desired state to SDCFrameSourceStateOn.
By default, the resolution of captured frames as well as auto-focus and exposure settings are chosen such that they work best for a variety of use cases. To fine-tune recognition, the camera settings can be changed through applying new camera settings.
- position
@property (nonatomic, readonly) SDCCameraPosition position
Added in version 6.0.0
The direction that the camera faces.
- defaultCamera
@property (class, nonatomic, nullable, readonly) SDCCamera *defaultCamera
Added in version 6.0.0
Gets the default camera of the device. This method is identical to calling cameraAtPosition: repeatedly, first with SDCCameraPositionWorldFacing, then with SDCCameraPositionUserFacing followed by SDCCameraPositionUnspecified, stopping after the first of these calls returns a non-nil instance.
See cameraAtPosition: for a more detailed description of the method behavior.
- isMacroModeAvailable
@property (class, nonatomic, readonly)
BOOL
isMacroModeAvailableAdded in version 6.17.0
Returns whether macro mode is available for the current device. See SDCMacroMode for details.
- + cameraAtPosition:
+ (nullable SDCCamera *)cameraAtPosition:(SDCCameraPosition)position
Added in version 6.0.0
Retrieves the camera instance of the first camera at the provided position. In case the system does not have a camera at the provided position, nil is returned.
When this method is called multiple times with the same argument, the same SDCCamera instance is returned. The SDCFrameSource.currentState of the camera as well as the settings depend on previous invocations. For example, if the camera is currently in use and is active, the camera’s SDCFrameSource.currentState will be SDCFrameSourceStateOn. The only guarantee about the state and settings is that when instance is initially created, the SDCFrameSource.currentState is SDCFrameSourceStateOff and has the default SDCCameraSettings.
Important
In case parts of your app use custom camera settings and others use the default settings, make sure to reset the camera to use the default settings when you need them by passing the default camera settings to applySettings:completionHandler: to ensure that you don’t have any other settings when you’d expect the defaults to be active.
The camera object is returned if present, regardless whether the application has permissions to use it or not.
- + cameraAtPosition:settings:
+ (nullable SDCCamera *)cameraAtPosition:(SDCCameraPosition)position settings:(nullable SDCCameraSettings *)settings
Added in version 6.15.0
This method is identical to calling cameraAtPosition: and then applySettings:completionHandler: consecutively.
- + cameraFromJSONString:error:
+ (nullable
instancetype
)cameraFromJSONString:(nonnull NSString *)JSONString error:(NSError **)errorAdded in version 6.0.0
Constructs a new camera with the provided JSON serialization.
- - switchToDesiredState:completionHandler:
- (
void
)switchToDesiredState:(SDCFrameSourceState)state completionHandler:(nullable void (^)(BOOL
))completionHandlerAdded in version 6.0.0
Implemented from SDCFrameSource. See SDCFrameSource.switchToDesiredState:completionHandler:.
- - switchToDesiredState:
- (
void
)switchToDesiredState:(SDCFrameSourceState)stateAdded in version 6.0.0
Convenience method for SDCFrameSource.switchToDesiredState:completionHandler:: it is the same as calling switchToDesiredState:completionHandler: with the second argument set to nil.
- - applySettings:completionHandler:
- (
void
)applySettings:(nonnull SDCCameraSettings *)settings completionHandler:(nullable void (^)(void
))completionHandlerAdded in version 6.0.0
Applies the camera settings to the camera. The task will complete when the settings have been applied and the camera has switched to use the new settings. If the camera is currently in SDCFrameSourceStateOff state, the task will complete immediately. If, on the other hand, the camera is currently in SDCFrameSourceStateOn state, the settings will be modified on the fly.
- isTorchAvailable
@property (nonatomic, readonly)
BOOL
isTorchAvailableAdded in version 6.0.0
Whether the torch is available for the given camera.
- desiredTorchState
@property (nonatomic, assign) SDCTorchState desiredTorchState
Added in version 6.0.0
The desired torch state for this camera. By default, the torch state is SDCTorchStateOff. When setting the desired torch state to SDCTorchStateOn, the torch will be on as long as the camera is running (the camera’s state is SDCFrameSourceStateOn) and off otherwise.
When setting the desired torch state to SDCTorchStateAuto, the torch is turned on or off based on the available illumination.
When setting the desired torch state for a camera that does not have a torch (see isTorchAvailable), this call has no effect.
- - addTorchListener:
- (
void
)addTorchListener:(nonnullid
<SDCTorchListener>)listenerAdded in version 6.3.0
Add a listener that will be called when SDCTorchState of the camera changes.
- - removeTorchListener:
- (
void
)removeTorchListener:(nonnullid
<SDCTorchListener>)listenerAdded in version 6.3.0
Remove a listener for SDCTorchState changes.
- - addMacroModeListener:
- (
void
)addMacroModeListener:(nonnullid
<SDCMacroModeListener>)listenerAdded in version 6.17.0
Add a listener that will be called when SDCMacroMode of the camera changes.
- - removeMacroModeListener:
- (
void
)removeMacroModeListener:(nonnullid
<SDCMacroModeListener>)listenerAdded in version 6.17.0
Remove a listener for SDCMacroMode changes.
- NSStringFromCameraPosition(cameraPosition)
NSString *_Nonnull NSStringFromCameraPosition(SDCCameraPosition cameraPosition)
Added in version 6.1.0
- SDCCameraPositionFromJSONString(JSONString, cameraPosition)
BOOL
SDCCameraPositionFromJSONString(NSString *_Nonnull JSONString, SDCCameraPosition *_Nonnull cameraPosition)Added in version 6.1.0
- NSStringFromTorchState(torchState)
NSString *_Nonnull NSStringFromTorchState(SDCTorchState torchState)
Added in version 6.1.0
- SDCTorchStateFromJSONString(JSONString, torchState)
BOOL
SDCTorchStateFromJSONString(NSString *_Nonnull JSONString, SDCTorchState *_Nonnull torchState)Added in version 6.1.0