diff --git a/CameraManager/Info.plist b/CameraManager/Info.plist
index cde50a8..d3de8ee 100644
--- a/CameraManager/Info.plist
+++ b/CameraManager/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- com.imaginarycloud.$(PRODUCT_NAME:rfc1034identifier)
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/Podfile b/Podfile
deleted file mode 100644
index 1f8213d..0000000
--- a/Podfile
+++ /dev/null
@@ -1,3 +0,0 @@
-platform :ios, '8.0'
-
-pod 'CameraManager', :git => 'https://gist.github.com/2204678.git'
\ No newline at end of file
diff --git a/camera.xcodeproj/project.pbxproj b/camera.xcodeproj/project.pbxproj
index 29fa40f..92c29c5 100644
--- a/camera.xcodeproj/project.pbxproj
+++ b/camera.xcodeproj/project.pbxproj
@@ -202,7 +202,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0700;
- LastUpgradeCheck = 0600;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = imaginaryCloud;
TargetAttributes = {
454C1F4019E82E2500C81915 = {
@@ -323,6 +323,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -389,6 +390,7 @@
INFOPLIST_FILE = camera/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = cameraDemo;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -400,6 +402,7 @@
INFOPLIST_FILE = camera/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = cameraDemo;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -422,6 +425,7 @@
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.imaginarycloud.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
VERSIONING_SYSTEM = "apple-generic";
@@ -444,6 +448,7 @@
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.imaginarycloud.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
VERSIONING_SYSTEM = "apple-generic";
diff --git a/camera.xcodeproj/project.xcworkspace/xcuserdata/nataliaterlecka.xcuserdatad/UserInterfaceState.xcuserstate b/camera.xcodeproj/project.xcworkspace/xcuserdata/nataliaterlecka.xcuserdatad/UserInterfaceState.xcuserstate
index c4f0634..597e90e 100644
Binary files a/camera.xcodeproj/project.xcworkspace/xcuserdata/nataliaterlecka.xcuserdatad/UserInterfaceState.xcuserstate and b/camera.xcodeproj/project.xcworkspace/xcuserdata/nataliaterlecka.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/camera.xcodeproj/xcshareddata/xcschemes/CameraManager.xcscheme b/camera.xcodeproj/xcshareddata/xcschemes/CameraManager.xcscheme
index d5d217f..472e20c 100644
--- a/camera.xcodeproj/xcshareddata/xcschemes/CameraManager.xcscheme
+++ b/camera.xcodeproj/xcshareddata/xcschemes/CameraManager.xcscheme
@@ -1,6 +1,6 @@
+
+
+
+
-
+
-
+
CameraState
{
if self._canLoadCamera() {
- if let validEmbedingView = self.embedingView {
+ if let _ = self.embedingView {
if let validPreviewLayer = self.previewLayer {
validPreviewLayer.removeFromSuperlayer()
}
@@ -466,7 +470,11 @@ public class CameraManager: NSObject, AVCaptureFileOutputRecordingDelegate {
if (captureDevice.position == AVCaptureDevicePosition.Back) {
let avTorchMode = AVCaptureTorchMode(rawValue: flashMode.rawValue)
if (captureDevice.isTorchModeSupported(avTorchMode!)) {
- captureDevice.lockForConfiguration(nil)
+ do {
+ try captureDevice.lockForConfiguration()
+ } catch {
+ return;
+ }
captureDevice.torchMode = avTorchMode!
captureDevice.unlockForConfiguration()
}
@@ -612,9 +620,12 @@ public class CameraManager: NSObject, AVCaptureFileOutputRecordingDelegate {
{
self.embedingView = view
dispatch_async(dispatch_get_main_queue(), { () -> Void in
- self.previewLayer?.frame = view.layer.bounds
+ guard let _ = self.previewLayer else {
+ return
+ }
+ self.previewLayer!.frame = view.layer.bounds
view.clipsToBounds = true
- view.layer.addSublayer(self.previewLayer)
+ view.layer.addSublayer(self.previewLayer!)
})
}
@@ -640,8 +651,6 @@ public class CameraManager: NSObject, AVCaptureFileOutputRecordingDelegate {
private func _addVideoInput()
{
- var error: NSError?
-
if (self.frontCamera == nil) || (self.rearCamera == nil) {
var videoFrontDevice: AVCaptureDevice?
var videoBackDevice: AVCaptureDevice?
@@ -652,18 +661,20 @@ public class CameraManager: NSObject, AVCaptureFileOutputRecordingDelegate {
videoFrontDevice = device as? AVCaptureDevice
}
}
- if (self.frontCamera == nil) {
- if let validVideoFrontDevice = videoFrontDevice {
- self.frontCamera = AVCaptureDeviceInput.deviceInputWithDevice(validVideoFrontDevice, error: &error) as! AVCaptureDeviceInput
+ do {
+ if (self.frontCamera == nil) {
+ if let validVideoFrontDevice = videoFrontDevice {
+ try self.frontCamera = AVCaptureDeviceInput(device: validVideoFrontDevice)
+ }
}
- }
- if (self.rearCamera == nil) {
- if let validVideoBackDevice = videoBackDevice {
- self.rearCamera = AVCaptureDeviceInput.deviceInputWithDevice(validVideoBackDevice, error: &error) as! AVCaptureDeviceInput
+ if (self.rearCamera == nil) {
+ if let validVideoBackDevice = videoBackDevice {
+ try self.rearCamera = AVCaptureDeviceInput(device: validVideoBackDevice)
+ }
}
- }
- if let validError = error {
- self._show(NSLocalizedString("Device setup error occured", comment:""), message: validError.localizedDescription)
+ } catch let outError {
+ self._show(NSLocalizedString("Device setup error occured", comment:""), message: "\(outError)")
+ return
}
}
self.cameraDevice = _cameraDevice
@@ -672,12 +683,12 @@ public class CameraManager: NSObject, AVCaptureFileOutputRecordingDelegate {
private func _setupMic()
{
if (self.mic == nil) {
- var error: NSError?
- let micDevice:AVCaptureDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeAudio);
- self.mic = AVCaptureDeviceInput.deviceInputWithDevice(micDevice, error: &error) as? AVCaptureDeviceInput;
- if let errorHappened = error {
+ let micDevice:AVCaptureDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeAudio)
+ do {
+ try self.mic = AVCaptureDeviceInput(device: micDevice)
+ } catch let outError {
self.mic = nil
- self._show(NSLocalizedString("Mic error", comment:""), message: errorHappened.description)
+ self._show(NSLocalizedString("Mic error", comment:""), message: "\(outError)")
}
}
}
@@ -762,7 +773,11 @@ public class CameraManager: NSObject, AVCaptureFileOutputRecordingDelegate {
if (captureDevice.position == AVCaptureDevicePosition.Back) {
let avFlashMode = AVCaptureFlashMode(rawValue: flashMode.rawValue)
if (captureDevice.isFlashModeSupported(avFlashMode!)) {
- captureDevice.lockForConfiguration(nil)
+ do {
+ try captureDevice.lockForConfiguration()
+ } catch {
+ return
+ }
captureDevice.flashMode = avFlashMode!
captureDevice.unlockForConfiguration()
}
diff --git a/camera/Info.plist b/camera/Info.plist
index 18156b1..3d4c0b4 100644
--- a/camera/Info.plist
+++ b/camera/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
- cameraDemo
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/camera/ViewController.swift b/camera/ViewController.swift
index 6178967..6677781 100644
--- a/camera/ViewController.swift
+++ b/camera/ViewController.swift
@@ -124,7 +124,6 @@ class ViewController: UIViewController {
self.cameraManager.startRecordingVideo()
} else {
self.cameraManager.stopRecordingVideo({ (videoURL, error) -> Void in
- println(videoURL)
if let errorOccured = error {
self.cameraManager.showErrorBlock(erTitle: "Error occurred", erMessage: errorOccured.localizedDescription)
}