맥에는 기본적으로 카메라가 달려서 나오는데, 그래서 그런지 몰라도 카메라를 표시하기 엄청 쉬울 줄 알았다.
왠지 뷰 하나만 올리면 바로 나올 것 같은 느낌이었는데, 전혀 아니었다 ㅠㅠ
@import AVKit; @import AVFoundation; . . . @property (weak) IBOutlet AVPlayerView *playerView; . . . - (void) display{ AVCaptureSession *session = [[AVCaptureSession alloc] init]; [session beginConfiguration]; if ([session canSetSessionPreset:AVCaptureSessionPresetPhoto]) { session.sessionPreset = AVCaptureSessionPresetPhoto; } NSArray *cameras = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; AVCaptureDevice *camera = cameras.lastObject; NSError *error = nil; AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:camera error:&error]; if (!input) { NSLog(@"no camera"); return; } [session addInput:input]; AVCaptureVideoPreviewLayer* layer = [AVCaptureVideoPreviewLayer layerWithSession:session] ; layer.contentsGravity = kCAGravityResizeAspectFill ; self.playerView.layer = layer ; [self.playerView setWantsLayer:YES] ; self.playerView.layerContentsRedrawPolicy = NSViewLayerContentsRedrawDuringViewResize ; self.playerView.layerContentsPlacement = NSViewLayerContentsPlacementCenter ; layer.frame = self.playerView.bounds ; layer.contentsGravity = kCAGravityResizeAspectFill ; [session commitConfiguration]; [session startRunning]; }
그럼 이렇게 일단 카메라 화면이 나오기는 하는데, 좌우가 반전이 돼서 나온다.
안드로이드보다 소스 찾기가 더 쉬운 줄 알았는데, 꼭 그런 건 아니구나…
도움받은 곳 :
https://developer.apple.com/library/mac/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html
http://prod.lists.apple.com/archives/cocoa-dev/2015/Sep/msg00216.html
이런 메시지가 나오는데, 어떻게 고치는지 못 찾겠다 ;;;
CoreAnimation: Warning! CAImageQueueSetOwner() is deprecated and does nothing. Please stop calling this method.