반응형

iOS/Swift 어플 따라하기 58

[Swift] Camera App 4(Photo Capture Delegate, 저장)

오늘은 사진을 찍는 과정과, 저장하는 과정을 그림으로 보고 코드로 구현해 보는 시간을 가질 겁니다. 사진을 찍어서 저장하는 순서를 한번 그림으로 보면, CapturePhotoWithSettings: delegate가 있고 그 하위로 여러가지 작업들을 수행하는데 오늘은 중간과정은 생략하고 didFinishProcessingPhoto로 사진을 찍어 저장하는 작업만 구현해 보도록 합니다. capturePhotoWithSettings: delegate구현 @IBAction func capturePhoto(_ sender: UIButton) { let videoPreviewLayerOrientation = self.previewView.videoPreviewLayer.connection?.videoOrientat..

[Swift] Camera App 3(내부,외부 카메라 toggle button)

오늘의 할일 1. 반대 카메라 찾기(내부, 외부 카메라) 2. 새로운 디바이스를 가지고 session업데이트 3. 토글버튼 업데이트 오늘은 토글버튼을 통해서 카메라 외/내부 카메라 전환을 해보겠습니다. 1. 반대 카메라 찾기 sessionQueue.async { let currentVideoDevice = self.videoDeviceInput.device //현재 잡혀진 카메라 디바이스를 찾습니다. let currentPosition = currentVideoDevice.position //앞카메라인지 뒤카메라인지 할당해줍니다 let isFront = currentPosition == .front // 앞 카메라인지 할당해줍니다. let preferredPosition: AVCaptureDevice.P..

[Swift] Camera App 2(captureSession 구성)

오늘의 할 일 1. setupSession 메서드 작성 2. startSession 메서드 작성 3. stopSession메서드 작성 1. setupSession메서드 작성 CaptureSession구성 - presetSetting 하기 //프리셋 - 미디어캡쳐(사진,영상촬영 할 때 먼저 맞춰주는 설정값) - beginConfiguration - Add Video Input - Add Photo Output - commitConfiguration - presetSetting, beginConfiguration, commitConfiguration 아래 사진과 같이 프리셋을 설정하고 begin과 commit configuration 사이에 videoInput과 photoOut구성을 작성해줍니다. - add..

[Swift] Camera App 1(captureSession설정)

-CaptureSession -AVCaptureDeviceInput -AVCapturePhotoOutput -Queue(비디로 관련 프로세싱은 해당하는 큐에서 작동할 수 있도록) -AVCaptureDevice(디바이스에서카메라를 가져올 때, discoverysession) 기본 Setting let captureSession = AVCaptureSession() var videoDeviceInput: AVCaptureDeviceInput! //var인 이유. 디바이스 찾아서 넣어줄 건데, 앞뒤카메라를 토글시킬 수 있으니까 var로선언합니다. let photoOutput = AVCapturePhotoOutput() let sessionQueue = DispatchQueue(label: "session Q..

[Swift] * 검색 히스토리 표시(searchHistory)/searchTerm 최신순 sorting

오늘은 검색 히스토리를 최신순으로 표시하는 방법을 알아보겠습니다. 오늘의 목표 1. searchterm structure생성하기 2. searchterms 할당하기(viewcontroller) 3. UITableViewDataSource프로토콜 작성하기 4. viewdidAppear에 서버에 저장된 검색어 parsing하기 5. 최신순으로 sorting하기 1. searchterm structure 생성 struct SearchTerm: Codable { let term: String let timestamp: TimeInterval } 2. searchterms 할당하기(viewcontroller) var searchTerms: [SearchTerm] = [] 3. UITableViewDataSourc..

[Swift] Firebase 서버(RealtimeDatabase)에 저장된 데이터 불러오기

서버에 저장된 데이터는 아래와 같습니다. import Firebase class HistoryViewController: UIViewController { @IBOutlet weak var tableView: UITableView! let db = Database.database().reference().child("searchHistory") override func viewDidLoad() { super.viewDidLoad() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) db.observeSingleEvent(of: .value) { (snapshot) in print("-->snapshot: \(..

[Swift] Firebase를 이용하여 검색어 서버(RealtimeDatabase) 저장

SearchAPI 구현 Firebase 프로젝트 설정 cocoapod설치는 생략하겠습니다. 검색기능이 있는 각자의 프로젝트의 Viewcontroller에서 import Firebase class SearchViewController: UIViewController { let db = Database.database().reference().child("searchStory") 아래 사진과 같이 searchterm 데이터를 쓸 수 있는 준비 기능을 합니다. let timestamp = Date().timeIntervalSince1970.rounded() //*timeIntervalSince1970은 double형태라 소수점 버리는 .rounded사용 self.db.childByAutoId().setValu..

반응형