###Swift4でカメラを使用したい。
swift4で商品のバーコードを読み取るシステムを作る前にカメラで撮っている映像をUIViewに表示しようと思っています。
発生している問題・エラーメッセージ
Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
該当のソースコード
swift
1// 2// ViewController.swift 3// camera 4// 5// 6 7import UIKit 8import AVFoundation 9 10class ViewController: UIViewController, UIImagePickerControllerDelegate,UINavigationControllerDelegate{ 11 var captureSession: AVCaptureSession! 12 var stillImageOutPut: AVCapturePhotoOutput? 13 var previewLayer: AVCaptureVideoPreviewLayer? 14 15 @IBOutlet weak var cameraView: UIView! 16 override func viewDidLoad() { 17 super.viewDidLoad() 18 19 captureSession = AVCaptureSession() 20 stillImageOutPut = AVCapturePhotoOutput() 21 22 captureSession.sessionPreset = AVCaptureSession.Preset.hd1920x1080 23 24 let device = AVCaptureDevice.default(for: AVMediaType.video) 25 26 do{ 27 let input = try AVCaptureDeviceInput(device: device!) 28 if(captureSession.canAddInput(input)){ 29 captureSession.addInput(input) 30 31 if(captureSession.canAddOutput(stillImageOutPut!)){ 32 33 captureSession.addOutput(stillImageOutPut!) 34 captureSession.startRunning() 35 36 previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) 37 previewLayer?.videoGravity = AVLayerVideoGravity.resizeAspect 38 previewLayer?.connection!.videoOrientation = AVCaptureVideoOrientation.portrait 39 40 41 42 cameraView.layer.addSublayer(previewLayer!)//ここでエラーが発生 43 44 previewLayer?.position = CGPoint(x: self.cameraView.frame.width / 2, y: self.cameraView.frame.height / 2) 45 previewLayer?.bounds = cameraView.frame 46 47 } 48 } 49 } 50 catch{ 51 print("error") 52 } 53 // Do any additional setup after loading the view, typically from a nib. 54 } 55 56 57} 58 59
補足情報(FW/ツールのバージョンなど)
Swift4,Xcode10.0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。