iOS(20)
-
Xcode의 Scheme이란
Xcode의 scheme 에 대하여 프로젝트의 이름을 변경하는 과정에서 Scheme에 대한 궁금증이 생겨서, 최신 애플 공식 문서를 보고 target과 scheme에 대한 가닥.. 정도만 잡는 것을 목표로 한번 알아보았다. Target 사실 처음에 알아보고 싶었던 건 Scheme이었었는데, Target을 먼저 알아야 온전히 이해할 수 있겠다는 생각이 들었다. 여기 애플에서 제공하는 target에 대한 설명을 보면, A target specifies a product to build, such as an iOS, watchOS, or macOS app. When you create a project from a template, targets are added automatically. If you cho..
2023.04.11 -
코드 리뷰를 잘하기 위한 Github 모범답안 모으기
이 글을 쓰게 된 계기 아카데미에서 여러 프로젝트를 하면서 많이 성장했다고 생각한다. 깃, 깃헙, Xcode, Swift,... 기타 등등 여러 부분에서 익숙해졌다고 생각했는데 짧은 기간 안에 습득할 수 없었던 역량이 하나 있었다. 그것은 바로 코드리뷰.. 그 어느 것 보다도 경험 있는 사람과 초보자의 격차가 많이 느껴지는 부분이 아닌가 생각한다. 그리고 그 격차에 의해 부담감과 미안함을 느끼기도 한다. 나는 기껏해야 오타를 봐줄 수 있는데, 잘하는 분들은 사소한 것 부터 아키텍처 / 더 좋은 코드를 쓰는 방법 등등 여러 팁 + 리뷰를 남겨주신다. 나도 얼른 잘 해서 동등한 퀄리티의 코드리뷰를 해 드리고 싶은 마음에 어떤 방법이 좋을까.. 생각을 해 보니 가장 좋은 개발 교과서인 깃헙을 활용하기로 했다...
2023.04.09 -
개인 프로젝트 기록 - 3 (CoreData)
Core Data 사용하기 어쨌든 한번만 사용하고 끝낼 게 아니기 때문에 정보들을 저장해야 합니다. 그래서 1) CoreData를 SwiftUI에서 사용하는 법을 이해하고, 2) 실제 나의 프로젝트에 적용해 볼 것입니다. 목표 달성 (1 - Core Data + SwiftUI) Core Data의 간단한 개념 하나의 기기에서 쓰이는 영구 / 캐시 데이터 또는 CloudKit 을 통해 연결된 여러 기기의 sync 데이터 앱의 영구적인 데이터를 저장하거나 일시적 데이터를 캐싱하거나, undo 기능을 구현할 때 사용 SwiftUI 프로젝트에서의 CoreData 먼저 SwiftUI 에서의 큰 그림을 살펴 봅니다. 프로젝트를 만들 때 Core Data를 사용하겠다고 체크하면, 자동적으로 기본 세팅을 해 주고 Pr..
2023.04.01 -
개인 프로젝트 기록 - 2 (Recording)
녹음 테스트 재생을 테스트 했으니, 음성 메시지를 녹음할 수 있도록 그 기능을 구현해 보는 것이 목표 목표 달성 AudioSession 카테고리 설정 (앞선 설정과 동일) /// 재생 + 녹음 (playAndRecord) 모드 try audioSession.setCategory(.playAndRecord) User Permission 받기 func getUserPermission() { audioSession.requestRecordPermission() { [unowned self] allowed in DispatchQueue.main.async { if allowed { self.isRecordingAllowed = true } else { // TODO: 비동의의 경우는? 어떻게 처리? print(..
2023.04.01 -
개인 프로젝트 기록 - 1 (Ear Speaker)
Ear Speaker 테스트 귀로 전화를 받아야 하는 것이 주 아이디어이기에, Ear Speaker를 사용하는 것을 가장 먼저 테스트 해 보려 한다. 목표 달성 처음에 검색한 결과 /// Ear speaker로 재생하기 위한 설정 ? try audioSession.overrideOutputAudioPort(.none) 오디오세션을 overrideOutputAudioPort(.none) 으로 설정해준다. overrideOutputAudioPort 는 “Temporarily changes the current audio route”, 즉 현재의 오디오 루트를 일시적으로 변경시켜주는 것인데 정확한 설명은 없지만 .none 으로 설정 시 Ear Speaker에서 오디오가 나오는… 것인 줄 알았고 성공한 줄 알았..
2023.04.01 -
개인 프로젝트 기록 - 0 (시작)
개인 프로젝트를 시작하다 취업 준비로 CS나 알고리즘만 하다가는 Swift, SwiftUI, Xcode 죄다 까먹을 것 같고 새로운 기술을 경험할 기회도 없을 것 같아 개인 프로젝트를 시작하려고 합니다. Hear My Voice (가제) 친구, 가족들과 음성 편지를 주고 받을 수 있는 앱 입니다. 전화를 받듯이 휴대폰을 귀에 대면 됩니다. “힘들었던 하루, 버스를 기다리며 노래를 들으려 하는데 이어폰이 없다.. 누군가에게 전화를 하기도 버거운 하루. 마치 전화를 받듯이 가족들, 친구들의 목소리를 듣고 싶다”는 저의 니즈에서 시작되었습니다..ㅎ 지극히 개인적인 프로젝트입니다. 목표 목표는 1) 기록, 2) 새로운 기술 습득, 3) 출시 및 관리 입니다. 특히나 기록과 공유!가 중요하다고 생각합니다. 첫 버..
2023.04.01