일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- @available
- Codegen
- NotificationCenter
- 독후감
- 스타트업주니어로살아남기
- Modality
- 야곰아카데미
- 부트캠프
- 스위프트
- 독서후기
- Structures and Classes
- SWIFT
- delegation
- NumberFormatter
- Navigation
- SWIFTUI
- contentInset
- roundingMode
- mvvm
- Info.plist
- Failed to register bundle identifier
- 아이폰
- View Life Cycle
- IOS
- Mock
- UIResponder
- human interface guidelines
- xcode
- 책후기
- viewcontroller
- Today
- Total
목록Software Engineering/iOS (74)
호댕의 iOS 개발
Tuist는 Xcode 프로젝트를 생성 및 관리해주는 도구로 최근 모듈화와 함께 많이 들어본 툴이었다. 이번 넥스터즈 프로젝트를 진행하면서 Tuist를 통해 프로젝트를 관리하도록 정해서 Tuist의 셋팅 과정을 기록해보려고 한다. 공식문서에도 처음 시작 관련해선 설명이 잘 나와있다. https://docs.tuist.io/tutorial/get-started Get started | Tuist Documentation Learn how to install Tuist in your environment and generate your first project. docs.tuist.io curl -Ls https://install.tuist.io | bash 이 명령어를 터미널에 입력해주면 이렇게 설치가 된..
저번에 들은 강의에 이어 다음 강의를 듣고 내용을 정리해보고자 한다. [SwiftUI] 1. SwiftUI 시작하기 (Stanford CS193P) - some View 이번 넥스터즈 22기에선 SwiftUI를 사용해서 프로젝트를 진행하기로 결정했다. 이전부터 SwiftUI 공부해봐야지... 마음만 먹었었는데 실제 프로젝트를 하게 되니 확실히 공부를 시작했다. 이전에 초 ho8487.tistory.com 저번에는 단순히 카드 뷰를 옆으로 나열하는 뷰를 그렸다면 이번에는 좀 더 복잡한 뷰를 그렸다. 1. 특정 조건의 Preview 추가하기 일단 처음에는 가볍게 저번에 거의 사용하지 않는다고 했던 PreviewProvider를 만져보자. struct ContentView_Previews: PreviewPro..
이번 넥스터즈 22기에선 SwiftUI를 사용해서 프로젝트를 진행하기로 결정했다. 이전부터 SwiftUI 공부해봐야지... 마음만 먹었었는데 실제 프로젝트를 하게 되니 확실히 공부를 시작했다. 이전에 초반만 들었던 스탠포드 강의를 들어보면서 SwiftUI를 한 번 훑어보려고 한다. https://www.youtube.com/watch?v=bqu6BquVi2M&list=PLpGHT1n4-mAsxuRxVPv7kj4-dQYoC3VVu&index=1 처음에는 이 강의에 대한 개요에 대해 설명해주시고 Xcode의 기본적인 사용법에 대해 설명을 해주시는데 이 부분은 일단 넘기고... 본격적인 SwiftUI 설명부터 듣기 시작했다. import SwiftUI @main struct StanfordSwiftUIApp:..
PickerView를 좀 더 커스텀하게 사용하려면 ActionSheetPicker-3.0 이런 외부 라이브러리도 존재한다. GitHub - skywinder/ActionSheetPicker-3.0: Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. - GitHub - skywinder/ActionSheetPicker-3.0: Quickly reproduce the dropdown UIPickerView / ActionSheet functionality o... github..
인증서가 만료되는 기간이 얼마 남지 않아 인증서를 갱신해야 했다. 처음부터 인증서를 발급받아서 배포를 해본 경험은 있었지만 아직 인증서를 갱신해본 경험은 없었는데 이번 기회에 갱신을 하게 되면서 해당 내용을 정리해보고자 한다. 배포 관련 인증서 갱신하기 일단 배포 관련 인증서를 갱신하는건 무척 간단하다. 만료될 인증서를 삭제하고, Xcode로 간다. Preference의 Accounts로 들어간다. Preference는 (cmd + ,) 단축키를 통해 빠르게 들어갈 수 있다. 여기서 Manage Certificates... 버튼을 누른다. 그리고 + 버튼을 누른 뒤 Apple Distirbution을 선택해서 추가해주면 된다. 이렇게 하면 Apple Developer 상에 추가가 되어 있다. Apple ..
이전에 Center Paging을 구현하기 위해 Compositional Layout을 사용했다. 이를 사용하면 쉽게 Center Paging을 구현할 수 있었는데, 이를 사용하다가 iOS 15 미만에서 계속 강제종료되는 문제가 있어서 Flow Layout을 사용하면서 center paging을 구현하게 됐다. (당시 강제 종료되는 문제는 자동으로 셀이 넘어가는 배너에 Compositional Layout을 사용했었는데 iOS 15 미만 일정 사용자에게서 발생했다 -> 일부 사용자에게서만 발생한 문제라 정확한 원인은 파악하지 못했다) Flow Layout에서 Center Paging 구현하기 final class CenterPagingCollectionViewFlowLayout: UICollectionV..
이전 `우리 뭐먹지` 프로젝트를 할 때에는 배포에 많이 참여하지 못해서, 이번 프로젝트를 배포하며 App Store에 배포를 어떻게 하면 되는지 정리를 해보고자 한다. 열심히 프로젝트를 개발했다면 마지막으로 해야할 것이 App Store에 배포를 하는 것이다. 물론 App Store에 배포하지 않고도 Adhoc으로 아카이빙을 해서 주변 사람들에게 앱을 사용하라고 제공할 수도 있겠지만, 불특정 다수의 많은 사람들에게 본인의 서비스를 제공하기 위해선 App Store에 올리는 것이 필수적이다. 막상 해보니 크게 어려운 것은 없었지만 그래도 처음 배포를 제대로 한다는 생각에 막연한 두려움을 가지게 있었다. 나 같은 사람들도 분명 있을 것이기 때문에 배포 프로세스를 정리해보고자 한다. 아 그리고 들어가기에 앞서..
개발을 하다가 버튼을 누르는 이벤트를 일정 시간 동안 여러 번 누르더라도 한 번만 인식이 되도록 하고 싶었다. 버튼을 누르면 view를 띄웠는데 버튼을 여러 번 반복해서 누르는 경우 view가 왕창 떴기 때문이다. 이전에 쓰로틀링(Throttling)을 어디선가 봤기 때문에 Rx에서도 분명 해당 Operator가 있을거란 생각이 들었다. 일단 쓰로틀링이란 단어는 테크 유튜브나 이런 것들을 봤다면 뭔지는 몰라도 어디선가 들어본 사람들이 있을 것이다. 사전적 정의를 살펴보면 다음과 같다. 성능을 위한 오버클럭(overclock)이 디바이스에 무리를 주는 것을 방지하기 위해 고의로 성능을 낮추는 조절 방식 물론 하드웨어적으로 클럭과 전압을 강제로 낮추거나 전원을 끄는 방식으로 발열을 줄이는 등에도 사용이 가능..