TIL
20 posts
[TIL] Xcode 무선 디버깅

Mac과 Device(iPhone)을 유선상으로 연결 Window > Devices and Simulators 실행 연결한 디바이스의 체크 박스 클릭 유선 연결 제거 Mac과 디바이스 둘 다 Wifi 접속 빌드 진행 (처음에는 연결이 안되었는데, Xcode 재실행 후 동작됨) (느려서 개발할 때는 잘 사용하지 않을 것 같다)

February 06, 2022
TIL
[TIL] Github 협업(iOS)에 대한 생각

다음의 포스트를 참고하여 작성하였습니다. Velog, Git 협업 가이드, (2022.01.29) Tistory, Github를 이용한 iOS 개발 협업 기초, (2022.01.29) 1. 왜 하려는건가요? 이제 내가 속한 iOS 파트에서 하나의 프로젝트를 2명 이상의 개발자가 함께 협업하기 시작했다. 제대로된 형상관리(Branch, Release), 업데이트 이력 확인(Commit) 등을 하려고 하지만, 아직 경험이 없어서 한 번 생각을 정리해보려고한다. 2. 지금 어떻게 일하고 있나요? 두 명의 개발자(H, K) 같은 Xcode 프로젝트를 동시에 작업 K는 신규 기능 CallKit(iOS에 전화처럼 오게 하는 기능)을 2주간 구현 H는 기존 코드의 BugFix 업무 Github에는 현재 1.2.0 배포 버전의 코드 업로드 branch는 master, develop 2개 case K. 신규 기능 개발 기획자: 신규 기능 기획 디자이너: 신규 기능 디자인 개발자: 기획/디자인 피드…

February 05, 2022
TIL
[TIL] 모바일앱을 네이티브로 꼭 개발해야하는 경우

모바일 앱 개발 방식 요즘 모바일 앱은 비즈니스에서 굉장히 중요해졌다. 모바일 앱은 개발 방식에 따라 크게 3가지로 나눌 수 있다. Native Application 안드로이드와 iOS 각각의 플랫폼에서 요구하는 언어와 프레임워크로 앱 개발 Hybrid Application 모바일 UI를 웹으로 개발 후 iOS/Android 웹뷰로 패키징하여 개발 Cross-Pratform Application 한 가지의 개발 언어와 프레임워크로 iOS/Android 앱 개발 나는 Native 개발자로 커리어를 걸어가는 중이기에, Native가 어떨 때 사용되고 강점이 있는지 알아야 공부에 더욱 도움이 될 것이다. 네이티브앱으로 개발해야하는 경우 일단 가장 큰 장점은 속도가 빠르고, 모바일앱에 대한 사용자 경험에 가장 알맞음 오프라인으로도 앱이 동작되어야하는 경우 카메라, 저장공간, 전화, gps 등의 모바일 기기의 기능 사용하는 경우 고성능 화면이 필요한 경우(게임, 3D, 차트 등)

February 04, 2022
TIL
[TIL] Xcode Mark Up Comment

참고 포스트 Apple Developer Document, Markup Overview, (2022.01.24) 퀵헬프를 위한 마크업 코멘트 사용 단축키 : ⌥+⌘+/ Editor > Structure > Add Documentation Example 1 Example 2 Example 1 Example 2

February 02, 2022
TIL
[TIL] CocoaPods 'pod init' 에러

에러 어느 때와 같이 CocoaPod으로 내가 만든 라이브러리를 이용하기 위해 터미널에 을 입력했는데 갑자기 에러가 났다 이라는 에러 문구에 지금 CocoaPods의 버전이 새로운 Xcode의 버전을 못따라가는건가 싶어 Cocoapods을 업데이트 했다. 해결 CocoaPod 업데이트 일단 잘 해결이 되었다. 다음에 또 이 에러에 직면하면 마음 편하게 업데이트를 해야겠다.

February 01, 2022
TIL
[TIL] Xcode Comment

다음의 포스트를 참고하여 작성하였습니다. Apple Developer, Xcode Markup formatting, (2022.01.21) Velog, Swift 주석 작성법, (2022.01.21) 주석이란? Comment라고도 하며, 간단하게 프로그래밍 내용에 대한 메모라고 보면 된다. 주석은 프로그램을 이해하고 변경에 대한 내용을 제공하기 위해서 사용된다. (주석은 컴파일러 혹은 인터프리터에 의해 무시가 되어 프로그램에 영향을 주지 않는다) 기본 주석 내가 처음 배운 주석은 ’//’ 슬래쉬 2개를 사용한 한 줄 주석이었다. 1) 한 줄 주석 (단축어: ⌘ + / ) 2) 여러줄 주석 3) 중첩 주석 마크업 주석(문서화) Xcode의 Quick Help 기능을 사용하기 위해서는 일반 주석을 사용하면 안된다. (Quick Help : Xcode에서 레퍼런스 문서의 요약된 내용을 보여주는 기능, 단축키 : ⌥ + 오른쪽 마우스 클릭) Quick Help를 통해 객체나 함수를 명세하…

January 29, 2022
TIL
[TIL] DS_Store 파일은 무엇인가?

다음의 포스트를 참고하여 작성하였습니다. 티스토리, [GitHub] .DS_Store 파일 개념 및 삭제 방법 (2022.01.20) 어느날 커밋을 하고서 Github 사이트를 확인했는데, 라는 파일이 함께 업로드가 되었다. 무슨 파일인지 궁금하여 검색을 해봤다. .DS_Store 파일? Desktop Services Store의 약자로, 애플에서 정의한 파일 포맷 애플의 맥 OS시스템이 finder로 폴더에 접근할 때 자동으로 생기는 파일로써, 해당 폴더에 대한 메타데이터를 저장하는 파일이다. 분석해보면 해당 디렉토리 크기, 아이콘의 위치, 폴더의 배경에 대한 정보들을 얻을 수 있다. 맥 OS 환경에서만 생성 및 사용되지만, 파일을 공유하는 과정에서 이 파일도 같이 공유되는 경우가 있다. DS_store 파일은 프로젝트와 관련없는 파일이며, git status를 사용했을 때 발견되는 파일이니, github로 넘기지말고 삭제해도 된다. .DS_Store 삭제 방법 저장소 상위 디렉…

January 28, 2022
TIL
[TIL] Xcode 단축키

다음의 포스트를 참고하여 작성하였습니다. rightpoint, ”Spicing Up Xcode”, (2021.11.06) 나는 단축키를 좋아하고 잘쓰려고 노력하는 편이다. 마우스를 최소한으로 사용하고 최대한 키보드를 이용하여 작업하는 것이 실제로도 능률이 높아지기도 하고, 일단 멋있다. 단축키는 내가 하나하나 노력을 해가면서 사용해야 한다. 처음에는 머리로 생각하면서 사용하지만, 그렇게 하나하나 쌓아가다보면 자연스럽게 단축키를 사용하는 나의 모습을 볼 수 있게 된다. (다른 사이트에서 단축키를 Symbol을 이용해서 정리하길래 나도 한 번 따라해봤다.) Cmd: ⌘ Shift: ⇧ Option: ⌥ Control: ⌃ Caps Lock: ⇪ Fn 써보고 싶은 단축키들을 발견하여 정리해봤다. Balance Delimiter: ⌘⇧ StoryBoard Zoom In/Out: ⌘+, ⌘- Reveal in Project Navigator: ⌘⇧J Open Quickly: ⌘⇧O Capi…

January 21, 2022
TIL
[TIL] 한 번 편하게 훑어본 iOS 개발 스택

다음의 포스트를 참고하여 작성하였습니다. Github, 모바일 개발자 로드맵, (2022.01.14) IDE Xcode Grammer Functional Programming(Swift) Object-oriented Programming(Objective-C) iOS Human Interface GuideLine iOS Tech App Architect App Life-Cycle View-ViewController AutoLayout Multi-Touch Event Handling Cocoa Design Pattern MVC Singleton Delegate ResponderChain Observer Network RESTful APIs TCP/IP Socket APIs Language Swift Protocol-Oriented Programming Concurrent Programming DispatchQueue Advanced Design Pattern VIPER MVVM Ob…

January 20, 2022
TIL
[TIL] iOS 버전별 점유율

모바일 어플리케이션 개발을 하다보면 사용자들의 디바이스들이 모두 최신의 OS를 쓰고 있지 않기에 Target Version을 결정하게 된다. 그에 도움이 되도록 Apple Developer 사이트에서 제공해주는 점유율을 확인했다. https://developer.apple.com/kr/support/app-store/ 2022년 1월 11일 App Store 측정 수치 지난 4년 동안 도입된 기기 기준 72%가 iOS15, 26%가 iOS14 즉 98%가 iOS14 이상 전체 기준 63%가 iOS15, 30%가 iOS14 즉 93%가 iOS14 이상 iOS13부터 많은 변화가 있었다. 더 나아가 iOS14에서는 SwiftUI, PIP, Widget 등 다양한 기능들이 생겨났다. iOS13부터의 기능을 사용해야한다면 iOS13을 타겟으로 잡아도 문제가 없어보인다.

January 16, 2022
TIL
[TIL] Swift UITableView 행 선택 해제하는 방법

UITableView를 기본적으로 생성 후 행을 선택하면 선택한 행을 강조하기 위해 색이 어둡게 변한다. 그런데 손을 떼어도 계속 색이 어둡다. 나는 손을 떼었을 때 색이 다시 돌아왔으면 좋겠다. 사용자가 행을 터치 후 뗐을 때 다시 색이 돌아올 수 있도록 하려면, 의 메소드를 다음과 같이 작성해주면 된다. 메소드는 행이 선택되었을 때 호출되는 메소드로, 위와 같이 함수를 호출하여 선택되자마자 선택이 풀려 색이 돌아올 수 있도록 정의하면 된다.

January 15, 2022
TIL
[TIL] iOS UINavagationBar BackButton 텍스트 제거

네비게이션바의 뒤로가기 버튼은 따로 설정을 안할 경우 기본으로 에 뒤로갈 화면의 이름이 표시됩니다. 간단하게 앱을 개발하는데 뒤로갈 화면의 이름이 너무 길어서 UI가 안 이뻐질 경우 저는 제거를 하는 편입니다. (다른 뒤로가기 버튼 아이콘을 넣어서 텍스트를 제거하는 방법도 있습니다) ViewController에서 아래의 코드를 통해 뒤로가기 버튼의 텍스트(타이틀)을 임의로 제거합니다.

January 13, 2022
TIL
[TIL] Github 라이선스 종류 총정리

Github Repository에 적용할 수 있는 라이선스 종류는 다음과 같다. MIT License MI에서 공학도 지원을 위해 만들어진 이 라이선스는 라이선스 및 저작권 명시만 지키면 되는 프리한 라이선스다. 상업적 이용, 배포 및 수정, 2차 라이선스 모두 가능하며 금지 조건도 없다. 즉, 저장소에 이 라이선스를 적용할 경우 ‘소스를 어디서 퍼왔는지만 명시하면 마음대로 쓰세요’가 된다. Apache License 아파치 소프트웨어 재단 (Apache Software Foundation)에서 개발한 소프트웨어에 적용하기 위해 만들어진 이 라이선스는 라이선스 및 저작권 명시, 변경사항 안내, 상표권 침해 금지 조항이 걸려있는 라이선스이다. 상표권 침해만 하지 않는다면 사업적 이용, 배포 및 수정, 특허 신청과 2차 라이선스 모두 가능하다. GNU General Public (GPL) 자유 소프트웨어 재단 (Free Software Foundation)에서 만든 이 라이선스는, 라…

January 12, 2022
TIL
[TIL] Swift와 Objective-C 비교

Swift로 iOS를 입문한 나는 문득 왜 Objective-C를 대신하여 Swift가 나왔을까?에 대하여 의문점을 갖게 되었다. Swift가 출시했음에도 불구하고 Objective-C를 사용하는 기업도 몇몇 있다고 하는데, 간단하게 두 언어의 장단점을 알고 싶었다. (왜 안쓰고 왜 쓰는지는 알면 좋다고 생각한다) 1. 개발 관점 장점 단점 Swift - 헤더파일 및 본문 파일이 별도로 존재하지 않아 파일 정리에 편리- 명확한 타입 선언을 하지 않아도 됨- 애플 자체 컴파일 - Swift만의 문법 존재- Swift버전 업에 따른 API 변동이 큼(현재는 많이 줄어들었다) Objective-C - C개발자의 경우 Swift대비 빠른 습득 가능- 컴파일 버전 업에 따른 API변동이 없음- 안정화된 오픈 소스 사용에 용이 - 헤더파일 및 본문 파일에 따른 파일 수 증가- 포인터 사용에 대한 어려움- 애플 자체 컴파일이 아님 2. 퍼포먼스 관점 장점 단점 Swift - 개발 속도가 빠…

January 11, 2022
TIL
[TIL] Github 토큰 인증 에러

에러 오랜만에 터미널로 커밋을 하려는데 아래와 같은 에러가 났다. 이유 2021년 8월 13일을 기점으로 패스워드 기반의 인증을 지원하지 않는다고 한다. (8월 13일 이후로 처음 만료되본 것 같긴 하다.) 해결 방법 SSH인증 방법과 Git 토큰 방식이 있는데, 나는 이미 발급해놓은 토큰이 있어서 후자로 진행한다. 을 할 때 비밀번호에 비밀번호 대신 token을 입력하면 정상적으로 Git 이용이 가능하다 에러 이유 해결 방법

January 10, 2022
TIL
[TIL] iOS 개발자 Skills Matrix

다음의 포스트를 참고하여 작성하였습니다. iOS Developer Skills Matrix, (2022.01.09) 우리는 우리 자신이나 잠재적인 팀원들을 평가할 때 항상 객관적으로 최선을 다해야 합니다. 불행하게도, 우리는 질문에 더 정확하게 대답하려고 노력할수록 진리에서 더 멀어진다. 이 skill Matrix는 iOS 개발자 후보에 대한 상대적인 요구 사항을 정의하기 위한 시도입니다. 추구하는 점 어느 영역을 개선해야 할지 알 수 있을 정도의 정확함 특정 지식을 정식화하는 것을 피할 수 있을 정도의 모호함 Areas 대부분의 개발자는 매일 이 Skills Matrix의 여러 영역을 건드린다. 우리 대부분은 직장에서 모든 영역을 건드릴 기회가 없기 때문에 어떤 기술은 오랫동안 사각지대로 남아있을 수 있다. 그렇기 때문에 일하면서 하지 않는 것을 이 지표를 통해 공부하면서 나아갈 수 있다. How not to use it 응시자 평가를 위한 전용 도구나 학습 계획으로 사용하지 마…

January 09, 2022
TIL
[TIL] CocoaPods 설치 방법

1. Homebrew 설치 2. Cocoapods 설치 3. 설치 확인

January 06, 2022
TIL
[TIL] Github Commit Message Convention

다음의 포스트를 참고햐여 작성하였습니다. 유다시티 깃 스타일 가이드, (2022.01.04) 0. 구조 1. Type feat: 새로운 기능 추가 fix: 버그 수정 docs: 문서 관련 refactor: 코드 리팩토링 test: 테스트 코드 chore: 빌드 업무 수정, 패키지 매니저 수정 등 add: 기능도 아니고 문서도 아니고 애매한 무언가를 추가할 때 delete: 삭제 move: 코드나 파일 이동 modify: 수정 correct: 문법 오류, 타입 변경, 오타 등 2. Subject 제목은 50자를 넘기지 않고, 마침표를 붙이지 않는다. 제목에는 위 커밋 종류를 함께 쓴다. 과거시제를 사용하지 않고 명령조로 작성한다. 제목과 본문은 한 줄 띄워 분리한다. 제목의 첫 글자는 반드시 대문자로 쓴다. 제목이나 본문에 이슈 번호(가 있다면) 붙여야 한다. 3. Body 선택사항이기에 모든 커밋에 본문 내용을 작성할 필요는 없다. 한 줄에 72자를 넘기면 안된다. 어떻게(How)…

January 04, 2022
TIL
[TIL] 기업 기술블로그 모음

기술이 점차 빠르게 발전하며, 개발 분야 직군은 지속적인 학습이 필요. 스스로 최신 개발 지식과 기술을 파악하고 학습할 때 가장 유용한 교재는 바로 IT기업들의 기술 블로그입니다. 기업들의 시행착오, 오픈소스, 실무 기술들을 파악하며 빠르게 발전할 수 있습니다. 국내 IT 기업 기술 블로그 카카오 https://tech.kakao.com/blog/ 쿠팡 https://medium.com/coupang-engineering Watcha https://medium.com/watcha 마켓컬리 https://helloworld.kurly.com/ 우아한 형제들 https://techblog.woowahan.com/ 뱅크샐러드 https://blog.banksalad.com/ NHN https://meetup.toast.com/ 하이퍼커넥트 https://hyperconnect.github.io/ 당근마켓 https://medium.com/daangn 강남언니 https://blog.ga…

January 02, 2022
TIL
[TIL] 일단 간단하게 시작하는 TIL

0. TIL이 무엇인가요? TIL은 Today I Learn의 약자다. 직역하면 오늘 내가 배운 것을 의미한다. (일일커밋과 같은 성격) 오늘 내가 배운 것을 매일매일 기록하는 것 1. 쓰는 이유는 무엇인가요? 1) 부족한 개발 역량 강화 마이스터고를 졸업하고 의료 IT 스타트업 회사에 취업을 했다. 개발자로 취업을 했지만, 기획적 역량과 다양한 툴을 능숙하게 사용하는 능력을 보며 UX Designer로 직무를 변경했다. 하지만 마이스터고에서부터 달려왔던 개발에 대한 깊은 마음과 ‘내 생각을 코드로 세상에 보여준다’라는 개발의 매력에 다시 개발을 도전했고, iOS를 공부하며 iOS 개발자의 삶을 시작하게 되었다. 다른 직무를 맡으면서 부족해진 개발 역량을 빠르게 강화해야 했다. 2) 스타트업 개발자로서 지속적인 공부 필요 지금 생활하는 회사의 SW팀장님께서는 늘 다음과 같이 말씀하곤 하셨다. “우리 회사가 개발하는 플랫폼은 생각보다 어렵다.” 웨어러블 디바이스 연동(블루투스)부터 …

January 01, 2022
TIL