- iPad
- Apple
- GOF
- UIKit
- 앱개발
- github
- DiffableDataSource
- lineBreakStrategy
- Human Interface Guidelines
- 야곰아카데미
- TOSS
- 애플사이다
- IOS
- iTerm
- Combine+UIKit
- 스위프트
- Swift
- WWDC
- Accessibility
- UILabel
- 애플
- orthogonalScrollingBehavior
- HIG
- Split View
- lineBreakMode
- 전달인자 레이블
- CollectionView
- LanguageGuide
- 디자인패턴
- Keychain
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Today
- Total
목록IOS (18)
애플사이다의 iOS 개발 일지
서비스에서 진행 중인 굵직한 이벤트가 있다면 앱을 실행하고 Home 화면에 진입했을 때, 애니메이션과 함께 Bottom Sheet (이하 바텀시트)를 띄워준다. 바텀시트를 노출하는 앱은 매우 흔하다. dim 영역이나 x 버튼을 탭하면 Sheet가 내려가도록 구현되어 있다. 29CM 무신사 ABLY 오늘의집 Shein 쿠팡 개인적으로 귀찮아서 습관적으로 무조건 닫기 버튼을 누르긴 하지만... ㅋㅋㅋ (솔직히 사용성 너무 안 좋다고 생각함) 그래서인지 아마존, Etsy, Temu 같은 글로벌 앱에서는 이러한 시트를 띄우지 않고 있었다. 아무튼 이번에는 이러한 바텀시트를 구현하는 과정에서 겪었던 버그를 파헤쳐보려 한다. 제목에서 벌써 스포하고 있듯이 ViewDidLoad 시점에 Bottom Sheet의 lay..
toss의 디자인 컨퍼런스 SIMPLICITY23에 이어 개발자 컨퍼런스 SLASH23가 진행됐다. SLASH23은 토스 개발자들의 기술적 고민과 성취를 공유하는 자리이며, 총 24개 세션으로 구성되어 있다. 그중 클라이언트 개발자가 눈여겨 봐야 할 세션은 3가지가 있다. 1. Rally로 3분 만에 애니메이션 완성하기 2. 레고처럼 조립하는 토스 앱 3. 누구나 쓸 수 있는 접근성 높은 토스 만들기 하나씩 간단히 정리해 봤다. 나중에 언젠가... 시간이 나면 다른 세션도 정리해보고 싶다. 🙄 1. Rally로 3분 만에 애니메이션 완성하기 저번에 포스팅했던 SIMPLICITY23 리뷰에서 첫 번째로 다뤘던 인터렉션, 꼭 넣어야 해요? 세션과 연결되는 내용이다. 사실 대부분의 내용을 SIMPLICITY2..
개발자가 설정한 특정 상황이 발생하면 자동으로 실행할 동작을 미리 정해두는 기능이 있다. 예를 들어 특정 branch에 merge 또는 PR을 요청했을 때 테스트가 실행되도록 하는 것이다. Git Flow 기능과 함께 사용하면 더욱 유용하다. *Git Flow 설명은 지난 포스트 참고 - [Git] GitFlow로 브랜치 관리하기 이렇게 테스트 코드를 실행하거나, 새로운 버전을 release 하기 전에 TestFlight를 실행할 수 있는데 이러한 자동화 기능을 CI/CD라고 한다. CI/CD를 위한 툴은 Jenkins, fastlane, Buildkite 등 다양한데, 오늘은 GitHub Action을 알아보자. CI/CD란? CI : Continuous Integration (지속적 통합) CD :..
저번 포스팅 [Keychain] 공식문서 읽는 방법 - 공식문서만으로 키체인을 이해해보자 에서 Keychain 이론을 다뤘다. 이제 간단한 예제를 통해 Keychain을 사용해보자. *이 예제에서는 비밀번호를 저장하지만, 실제로는 사용자 인증 등 토큰을 저장하는 형태로 흔히 사용한다. 1. Keychain에 비밀번호 추가 (등록)하기 먼저 Keychain에 저장할 데이터 타입을 정의하자. 이번 예제에서는 password만 저장하지만, 다른 프로퍼티를 추가/저장하는 것도 가능하다. struct Credentials { // var username: String // 이번에는 필요 없음 var password: String } Keychain 관련 Error 타입도 정의하자. enum KeychainErro..
공식문서를 읽다 보면 링크를 타고 다른 문서를 읽게 되고, 또 그 안에 링크를 타고 다른 글을 읽어야 하고... 가 반복되기 때문에 지칠 때가 있다. 이번 포스트에서는 공식문서들을 효율적으로 떠돌아다니는 방법을 소개하고자 한다. 다른 키워드에 비해 Keychain에 대한 공식문서 양이 (그나마) 방대하지 않아서 (← 수박 조언 감사해요) 오직 공식문서만으로 Keychain을 이해해보는 시도를 했다. 아래의 떠돌이 과정 (빨간색 글씨 참고)을 통해 공식문서의 중요도를 판단하는 데 도움이 되었으면 한다. 1. 최상단의 문서 - Keychain Services Keychain에 대한 설명이 시작되는 문서는 Keychain Services이다. 요약 : Keychain service란 사용자 대신 작은 데이터 ..
최근 2개월 동안 개발했던 앱을 출시하게 됐다. 기획부터 시작해서 디자인, 서버 개발, iOS 개발에 직접 관여하며 진행했던 프로젝트인 만큼 재밌었고 배운 게 많았다. 그 과정에서 단계별로 고려했던 점과 유용한 사이트를 공유하려고 한다. ✏️ 기획 프로젝트 실행 목적과 목표를 설정한다. 이때 목적은 취준용 앱 출시 경험일 수도, 평소 만들고 싶었던 서비스를 구현하는 것일 수도 있다. 팀원, 진행 기간, 출시 목표일정, 타깃 사용자 등을 설정한다. 개발자 지인이 있다면 기술 난이도에 대해 조언을 구한다. 앱 출시 이후 업데이트를 진행해도 되므로 일단 최소한의 기능을 담은 MVP를 고민한다. 과욕을 부리면 나중에 꼭 후회하게 된다. 최소한의 기능만 구현해도 예상보다 오래 걸린다. 디스코드 채널 개설, Not..
작은 앱개발 프로젝트를 진행 중인데, 앱 출시 전에 미리 확인할 게 많다는 조언을 들었다. Apple이 만든 App Store 심사지침 (App Store Review Guidelines)이 그 중 하나이다. 와이어프레임 (화면설계서)을 작성하는 단계에서 읽는 것을 추천한다. 본문의 주요 포인트와 다소 의외였던 점을 정리해봤다. 앱 승인신청 시 체크리스트 앱에 crash 및 버그가 있는지 테스트하기 앱 정보와 메타데이터가 정확한지 확인하기 앱 심사 팀이 연락할 경우를 대비하여 개발자 연락처 업데이트하기 실제 시연 계정, 로그인 정보, 기타 하드웨어 또는 앱 심사에 필요한 리소스 제공하기 백엔드 서비스 활성화하기 필요한 경우, 불명확한기능이나 인앱 구입에 관한 자세한 설명과 지원 문서를 앱 심사 메모에 ..
2022년 4월, 야곰아카데미의 4기 (6개월 과정)를 수료하고 후기를 남긴다. *프로그래밍 기초를 다루는 후기는 이 링크를 참고 결론부터 말하자면, iOS 개발자가 되기를 꿈꾸는 분들께 망설임 없이 이 과정을 추천하고 싶다. 야곰아카데미 덕분에 6개월 동안 즐겁게 공부했고, 유능한 개발자가 되기 위한 태도와 사고방식을 배울 수 있었다. 그리고 이전과 비교가 안될 정도로 성장했다고 생각한다. 캠프에 참여하지 않았다면 이 정도 실력을 쌓는 데 최소 2~3년은걸렸을 것 같다. 캠프의 특징과 장점, 아쉬운 점을 정리해봤다. 1. 앱 개발에 관심을 갖게 된 계기 나는 "일을 통한 성장"을 중요시하는 편이다. 공대를 졸업하고 국제기구에서 1년, 국내 발전소에서 5년간 근무를 했다. 안정적인 환경이었고 일은 편했..