2016-05-31 14:50:30 +03:00
|
|
|
//
|
|
|
|
// CKCameraManager.m
|
|
|
|
// ReactNativeCameraKit
|
|
|
|
//
|
|
|
|
// Created by Ran Greenberg on 30/05/2016.
|
|
|
|
// Copyright © 2016 Wix. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
#import "CKCameraManager.h"
|
|
|
|
#import "CKCamera.h"
|
|
|
|
|
2016-06-02 14:08:06 +03:00
|
|
|
|
|
|
|
@implementation RCTConvert(CustomSegmentedSelectedLineAlign)
|
|
|
|
|
|
|
|
RCT_ENUM_CONVERTER(CKCameraFlashMode, (@{
|
|
|
|
@"auto": @(AVCaptureFlashModeAuto),
|
|
|
|
@"on": @(AVCaptureFlashModeOn),
|
|
|
|
@"off": @(AVCaptureFlashModeOff)
|
|
|
|
}), AVCaptureFlashModeAuto, integerValue)
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@interface CKCameraManager ()
|
|
|
|
|
|
|
|
@property (nonatomic, strong) CKCamera *camera;
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
2016-05-31 14:50:30 +03:00
|
|
|
@implementation CKCameraManager
|
|
|
|
|
|
|
|
RCT_EXPORT_MODULE()
|
|
|
|
|
|
|
|
- (UIView *)view {
|
2016-06-02 14:08:06 +03:00
|
|
|
self.camera = [CKCamera new];
|
|
|
|
return self.camera;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
RCT_EXPORT_METHOD(capture:(BOOL)shouldSaveToCameraRoll
|
|
|
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
|
|
reject:(RCTPromiseRejectBlock)reject) {
|
|
|
|
|
|
|
|
[self.camera snapStillImage:shouldSaveToCameraRoll success:^(NSString *imagePath) {
|
|
|
|
if (imagePath) {
|
|
|
|
if (resolve) {
|
|
|
|
resolve(imagePath);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}];
|
|
|
|
}
|
|
|
|
|
|
|
|
RCT_EXPORT_METHOD(changeCamera:(RCTPromiseResolveBlock)resolve
|
|
|
|
reject:(RCTPromiseRejectBlock)reject) {
|
|
|
|
|
|
|
|
[self.camera changeCamera:^(BOOL success) {
|
|
|
|
if (success) {
|
|
|
|
if (resolve) {
|
|
|
|
resolve([NSNumber numberWithBool:success]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}];
|
|
|
|
}
|
|
|
|
|
|
|
|
RCT_EXPORT_METHOD(setFlashMode:(CKCameraFlashMode)flashMode
|
|
|
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
|
|
reject:(RCTPromiseRejectBlock)reject) {
|
|
|
|
|
|
|
|
[self.camera setFlashMode:flashMode callback:^(BOOL success) {
|
|
|
|
if (resolve) {
|
|
|
|
resolve([NSNumber numberWithBool:success]);
|
|
|
|
}
|
|
|
|
}];
|
2016-05-31 14:50:30 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@end
|