diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 10b8f12f2..af09e668f 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -575,7 +575,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: 57d2868c099736d80fcd648bf211b4431e51a558 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 + DoubleConversion: cde416483dac037923206447da6e1454df403714 FBLazyVector: f637f31eacba90d4fdeff3fa41608b8f361c173b FBReactNativeSpec: 0d9a4f4de7ab614c49e98c00aedfd3bfbda33d59 Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0 @@ -588,7 +588,7 @@ SPEC CHECKSUMS: Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 - glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b + glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3 hermes-engine: 47986d26692ae75ee7a17ab049caee8864f855de libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c @@ -619,7 +619,7 @@ SPEC CHECKSUMS: React-RCTVibration: 43ffd976a25f6057a7cf95ea3648ba4e00287f89 React-runtimeexecutor: 7c51ae9d4b3e9608a2366e39ccaa606aa551b9ed ReactCommon: 85c98ab0a509e70bf5ee5d9715cf68dbf495b84c - ReactNativeCameraKit: d95d3e19c514526a234d9f93c6db7e7f10eef9ea + ReactNativeCameraKit: 7c273034b2674cf5ccbaab2e25d9ff15b3e7d698 SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 Yoga: 065f0b74dba4832d6e328238de46eb72c5de9556 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a diff --git a/ios/ReactNativeCameraKit/CameraManager.swift b/ios/ReactNativeCameraKit/CameraManager.swift index 51c13c3f3..1d19ccff4 100644 --- a/ios/ReactNativeCameraKit/CameraManager.swift +++ b/ios/ReactNativeCameraKit/CameraManager.swift @@ -10,7 +10,7 @@ import Foundation * Class managing the communication between React Native and the native implementation */ @objc(CKCameraManager) public class CameraManager: RCTViewManager { - var camera: CameraView! + var camera: CameraView? override public static func requiresMainQueueSetup() -> Bool { return true @@ -18,14 +18,17 @@ import Foundation override public func view() -> UIView! { camera = CameraView() - return camera } @objc func capture(_ options: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) { - camera.capture(options as! [String: Any], + guard let cam = self.camera else { + reject("capture_error", "CKCamera capture() was called but camera view is nil", nil) + return + } + cam.capture(options as! [String: Any], onSuccess: { resolve($0) }, onError: { reject("capture_error", $0, nil) }) }