본문 바로가기

전체 글331

Alert생성할때 에러 Presenting view controllers on detached view controllers is discouraged. 📌 상황 새로 등장하는 ViewController에서 얼럿생성시 발생하는 에러 가끔씩 UIAlertController를 생성하고 그걸 새로운 UIViewController에서 띄울 때, 아래와 같은 경고 로그를 확인 하곤한다. Presenting view controllers on detached view controllers is discouraged. 📌 발생이유 이런 경고 로그가 생기는 이유는 생각보다 간단한 이유때문이다. UIAlert이 생겨야할 장소인 UIViewController가 모두 생성되어야 안전하게 Alert이 생성될 수 있기 때문이다. Apple에서 자체적.. 2022. 10. 31.
UIKit에서 SwiftUI의 Preview를 사용하는 방법 "TIL221031: How to use Preview in UIKit" 앱개발을 하는 중 UI작업을 할 때, 시각적으로 확인을 해야하는 경우가 생긴다. 물론 소규모의 앱이나 작업에서는 매번 빌드하는 것이 나쁘지않지만, 해당 페이지가 세부적인 항목이라 여러번 클릭하고 대기하고 심지어는 빌드시간이 오래걸린다면.. 우리는 많은 스트레스를 받게된다. 실제로 회사에서 빌드하는데 정말 많은 시간을 보내고, 그때마다 흐름이 끊기는 것을 경험한다. 이를 해결하기위해 여러 방면을 찾아보았다. 첫번째 방법은 SwiftUI의 Preview를 사용하는 방법이다. 하지만 단점은 SwiftUI를 사용해야 해당 기능을 킬수 있다는 것이었다. 아직 나의 작업환경이 구버전이기 때문에 대부분 UIKit 혹은 Objc라 엄두를 못내고 .. 2022. 10. 31.
SwiftLint 라이브러리 세팅하기 SwiftLint 다른 개발자와 협업을 하는 경우, 각자 다른 코드 스타일을 가지고 있기 때문에 자칫 가독성을 해칠 수가 있다. 그래서 SwiftLint는 현업에서도 매우 유용한 라이브러리다. SwiftLint에 대한 내용은 https://github.com/realm/SwiftLint 이곳에 아주 상세하게 나와있다. 심지어 한글도 지원된다.!! SwiftLint 설정하기 공식문서를 보면 다양한 설치방법이 소개되어있다. 가장 자주 사용하는 방법은 CocoaPods이나 Brew를 사용할 수 있다. CocoaPods CocoaPods를 사용하면 최신 버전 외에도 SwiftLint의 특정 버전을 설치할 수 있기 때문에 이 방법을 권장한다. → Homebrew는 최신 버전만 설치 가능 Podfile에 아래 내용.. 2022. 10. 28.
Unknown class @@ in Interface Builder file. Unknown class @@ in Interface Builder file. [Storyboard] Unknown class in Interface Builder file. 퇴근시간 20분전, Xcode로 내일부터 새롭게 작업할 프로젝트를 작성했는데 빌드가 안되는 것은 아니지만 하단에 에러로그가 찍힌다. 굉장히 찝찝하다. 이번 만큼은 에러로그없는 쾌적한 Xcode를 만들기 위해 바로 원인을 찾으려했는데 엄청나게 간단한 문제였다. Unknown class _ViewController in Interface Builder file 이 오류는 Xcode의 버그라고 알려져있기도 했지만 버그가 아니라 리얼 나의 실수일 수도 있다. Xcode가 워낙 버그가 많다고 하지만 이번엔 진짜 나 때문. 문제확인 일단 St.. 2022. 10. 27.
타임스탬프 다루기 스위프트로 코딩할 때 가끔 서버와의 통신 등을 이유로 유닉스 타임스탬프를 사용해야 할 때가 있습니다. 그런데 스위프트에서는 기본적으로 유닉스 타임스탬프 값을 얻는 방법을 제공하고 있지 않습니다. 따라서 이번 포스팅에서는 이를 간단하게 익스텐션으로 구현하는 방법에 대해 알아보겠습니다. 유닉스 타임스탬프(Unix Timestamp) 구현하기에 앞서 유닉스 타임스탬프에 대해 간단히 알아보겠습니다. 유닉스 타임스탬프란, 1970년 1월 1일 0시(UTC)를 기점으로 현재까지의 경과 시간을 초 단위로 환산하여 나타낸 값입니다. 예를 들어 2020년 1월 1일 0시(UTC)는 유닉스 시간으로 1577836800으로 표기합니다. 구현 방법 Date의 익스텐션에 프로퍼티 혹은 스태틱 프로퍼티를 추가함으로써 간단히 구현.. 2022. 9. 14.
2022년 8월 회고 / 하반기 목표 현재 나의 상태 매일매일 깃허브에 잔디를 심으며, 개발블로그에 매일 한주제를 포스팅하다보니 코딩을 즐기게 된 상태가 되었다. 흥미로운 포스팅이 있다면 출퇴근 중에도 해당 블로그를 읽곤 한다. 장기적 목표 실력있는 주니어 개발자 되기 단기 목표 iOS 기본기능 숙지하기 2022년 하반기 목표 - 회사에서 내가 맡은 업무에 관하여는 내가 가장 잘 알게 되는 것 해당 목표를 달성하고 싶은 이유 장기적 목표인 실력있는 개발자가 되는데 있어서 꼭 거쳐야하는 단계이기 때문이다. 그리고 늦게 시작한 커리어이기 때문에 그만큼 뒷받침할 실력을 만들고 싶다. 목표 달성을 위해 필요한 과정 - 기능하나씩 뜯어보고 익히는 과정 - 다양한 방법으로 해당 기능을 구현하는 과정 - 또다른 방법이 있는지 커뮤니티, 블로그, 유튜브 .. 2022. 8. 22.
나는 Geek코드 제 닉네임은 Geek코드입니다. 음악을 사랑하고 개발자인 삶도 사랑합니다. Geek은 뭔가 에 푹 매료되어있다는 의미이고 화음을 뜻하는 Chord, 개발을 의미하는 Code 이 코드에 푹빠져있다는 의미에서 만들었습니다. 방금 소개처럼 저는 15년간 클래식기타 연주자로서, 그리고 교육자로서 의 삶을 보내왔습니다. 그러면서 스스로를 어떻게 채워나가야할지 깨뜨리고 두드리기를 반복하는 삶에 익숙합니다. 현재 아이폰의 앱개발자로 서의 새로운 직업을 갖게 된지도 벌써 9개월이 되어갑니다. 그동안의 경험들은 고스란히 제 노하우가 되어 빠르게 개발자로서 성장하고 있습니다. 기존 몇달간 매일 아침 했던 긍정선언문 나는 iOS 분야에서 왕성하게 활동하는 개발자이자 도시의 사막에 있는 사람들의 마음을 보듬어주는 뮤지션이다... 2022. 8. 7.
나의 MBTI와 Strength Finder - MBTI - ENFJ - FormQ 따뜻하고, 감정이입을 하며, 반응하고, 책임감 있다. 다른 사람들의 정서, 욕구 그리고 동기에 대한 높은 관심을 가지고 있다. 모든 사람들의 잠재성을 찾는 동시에, 그것들을 실현하게 할 수 있도록 도와준다. 개인과 집단의 성장을 위한 촉매 역할을 한다. 충성스럽지만, 칭찬과 비판에 민감하다. 집단 안에서 다른 사람들과의 상호작용을 촉진하며, 사교적이다. 또한, 사람들을 고무시키는 리더십을 발휘한다. - Strength Finder 나의 강점 - 집중, 개별화, 배움, 책임, 미래지향, 전략, 커뮤니케이션, 행동, 발상, 존재감 나의 약점 - 미래지향에 집중한 나머지 현실적인 면, 나의 한계를 가끔 놓치는 경우가 있다. - 나의 강점이 약점이 된 경우는 집중한 나머지.. 2022. 8. 7.
나의 7월 피드백, 8월 계획 이번달의 주요 사건 1. 개발자로서 첫 강의: 야곰아카데미 특강 - Let'Swift iOS 개발자 컨퍼런스에 발제문을 신청했는데 야곰아카데미 대표 야곰님으로부터 특강 제의를 받았다. - 기존의 블록식스강의를 가지고 주니어 개발자에 맞도록 업그레이드를 하여 2시간 분량의 강의를 진행완료 했다. - 생소한 대상들이었지만 이분들의 호응을 얻을 수 있구나 하는 자신감이 생겼다. 2. 소규모 프로젝트 앱만들기 진행 - 습도계 앱을 2인 협업진행 - 함께 하면서 상대방의 장점을 파악할 수가 있었다. 3. 사내 in-house 앱 배포 완료 - 난생 처음 초반부터 배포까지 한바퀴를 경험해봤다. 8월 목표 1. 습도계앱 마무리: 배포까지 하기 2. 하반기 맡은 애슐리 앱에 대해 마스터하기 3. 갤럽을 가지고 나의 분.. 2022. 8. 7.
행복을 찾아서 #행복합의 나는 지금 성공을 향해 출발하는 열차위에 올라있다. 이제 이걸 타고 그대로 가기만 하면 되는 거라고 생각했다. 그럼에도 이따금 불안감을 느꼈다. 이게 맞나? 이렇게 하면 되는 거 같은데.. 맞는데. ​ 마음이 불편한데에는 분명 이유가 있었다. 내가 성공을 하려는 이유는 나와 가족이 행복하기 위해서가 1순위인데 난 앞만 보느라 가족과의 시간을 잊고있었기 때문이다. 아차싶었다. 나만 '내방식대로' 성장하는 건 우리가족의 행복에 있어 아주중요한 게 빠져있었다. 바로 함께 하는 것이었다. 혼자 어디선가 자기계발을 하고 돌아와 진보적인 목표를 가족에게 풀어놓는 것은 어쩌면 너무나 큰 변화요소 였던 것이다. 사람마다 소통하는 방법이 다르고 또한 그동안 경험한 것이 다른데 내가 혼자 그렇게 하는 것은 우리.. 2022. 6. 26.