[ 이슈 ] - Deployment Target iOS 13인 앱 개발 - Xcode 12.5 사용, iOS 14 시뮬레이터 / 디바이스 로 돌려봄 SFSymbol 앱에서 검색으로 원하는 이미지 찾음. (SFSymbol 앱 메이져 버전이 1인 것을 사용하는 줄 알았는데, major version 2 였음...) 인터페이스 빌더에서 해당 이미지 설정함. 하지만 iOS 13에서 이미지가 안나오고 있다는 것을 뒤늦게 알게됨,,, 🥲 gearshape는 iOS 14부터 지원되기 때문! [ SFSymbol > 사용가능한 버전 ] SFSymbol 앱에서 느낌표를 누르면 사이드바가 열림 그 상태에서 이미지를 선택하면 사용가능한 버전이 나오는데 꼭꼭 체크해야겠음! ✔️
[ 이슈 ] Deployment Target이 iOS 13인 앱에서 value change를 감지하기 위해 onChange(of:perform:) 를 사용하려고 했으나 onChange는 iOS 14부터 지원되는 것이였습니다,,, 애플의 Picker 를 예제로 대응책을 살펴보겠습니다! 방법 1 ) onReceive(_:perform:) 는 iOS 13부터 가능하므로 이것을 써준다. onReceive에 Publisher 타입을 넘겨줘야하므로 Just 로 감싸줘야하는데, 이를 위해 import Combine 해줘야합니다. import SwiftUI import Combine enum Flavor: String, CaseIterable, Identifiable { case chocolate case vanill..
https://brunch.co.kr/@dnwhdrb98/7 다크 모드 적용기(2) 다크 모드 적용기 2탄 : 컬러 시스템을 구축하자 | 지난 글에서는, 다크 모드의 당위성에 대한 이야기를 다루었다. 나아가, 여러 가지 레퍼런스들을 통해 다크 모드를 위한 최소한의 의사결정 과 brunch.co.kr https://tech.socarcorp.kr/design/2020/07/10/dark-mode-01.html [SOCAR FRAME 만들기 #2] 다크 모드 받고 디자인 시스템 더블로 가! (1탄) 안녕하세요! 프로덕트 디자인팀 가디, 푸린입니다. 이번 글에서는 다크 모드 도입을 검토하게 된 이유와 공부한 내용, 그리고 다크 모드와 디자인시스템을 같이 작업하게 된 과정을 얘기해보려 tech.socarcorp..
[ 요약 ] - 유료 앱을 등록하려면 앱스토어 커넥트 > 계약에서 주소, 은행계좌를 입력하고 세금 양식을 제출해야한다. - 세금 양식에는 사업자 등록번호, 통신판매업 신고번호 가 필요하다. (유료 앱이나 인앱결제가 있는 앱을 서비스 하려면 반드시 사업자 등록 & 통신판매업 신고를 해야한다.) - 사업자 등록은 1일 정도, 통신판매업 신고는 3,4 일 정도 소요된다. (통신 판매업 신고에 사업자 등록 번호를 적어야하기 때문에 사업자 등록 -> 통신판매업 신고 순서로 해야한다. 나는 유료앱 심사가 끝나고 이 절차를 진행해서 출시까지 일주일 정도(주말 포함) 딜레이가 된 셈이다ㅠㅠ 유료앱이나 인앱결제를 생각하신다면 개발과 함께 이 절차도 미리 진행해두시길 추천드린다.) [ 나의 진행 절차 ] 유료앱으로 심사요..
Managing Model Data in Your App 문서를 보면 App의 모델 데이터와 뷰 간의 connection을 만들어 주는 세가지 property wrapper type 을 소개해줍니다. - ObservedObject iOS 13+ - EnvironmentObject iOS 13+ - StateObject iOS 14+ ObservedObject 랑 EnvironmentObject는 작년에 살펴봐서 안살펴본 StateObject 만 정리해보겠습니다. StateObject 의 정의 A property wrapper type that instantiates an observable object. StateObject 왜 필요한가? (Managing Model Data in Your App 문서 ..
UIModalPresentationStyle 에 따른 뷰컨트롤러 라이프 사이클(또는 생명주기 또는 상태 변화) / 접근성에 대한 실험 글입니다. 초록색 뷰컨트롤러에서 오렌지색 뷰컨트롤러를 present할 때 초록색 뷰컨트롤러의 상태변화 및 접근성을 살펴봅니다. (오렌지색은 opacity를 50%로 줬습니다.) Part 1. 뷰컨트롤러 상태 변화 [1] fullScreen - A presentation style in which the presented view covers the screen. - The views belonging to the presenting view controller are removed after the presentation completes. == 초록색 뷰컨트롤러 상태 변..
enum Type { case A case B } struct AView: View { var body: some View { EmptyView() } } struct BView: View { var body: some View { EmptyView() } } # single return type 이렇게 각 타입에 맞게 다른 뷰를 리턴해주면 컴파일 에러가 난다. Swift는 function에 대해 single return type을 요구하기 때문이다. # AnyView , Group 그래서 AnyView로 감싸서 쓴다. 참고로 AnyView는 return을 생략하고 쓸 수는 없다. 또는 Group을 이용하는 방법도 있다. # @ViewBuilder WWDC 2021 - Demystify SwiftUI 에..
Customizing Your App’s Navigation Bar 를 문서를 보면 BackButton Image를 커스터마이징할 때, backIndicatorImage 뿐만아니라 backIndicatorTransitionMaskImage 도 같이 설정해주는 것을 볼 수 있다. backIndicatorTransitionMaskImage 는 push and pop transition 중에 content의 mask로 쓰이는 이미지라고 한다. What is backIndicatorTransitionMaskImage 글에 자세하게 나와있다! backIndicator 이미지 아래로 흐르는 content에 대한 마스킹(?)으로 쓰이는 이 부분을 말하는 것이며 스냅샷으로 뜨면 이 부분이라고 한다
# 이슈 collectionview 안에 cell이 두개 이상이면 왼쪽 정렬이 된다. 하지만 cell이 하나 일 때만 센터 정렬이 된다. # 해결 collectionView의 estimate size를 automatic -> none 으로 바꾸면 single cell 일 때도 왼쪽 정렬이 잘된다. # Reference https://stackoverflow.com/questions/60000398/align-single-uicollectionviewcell-to-the-left-of-the-collectionview align single UICollectionViewCell to the left of the collectionView I've got a collectionView that is insi..
[ 배경 지식 ] AVAudioSession AVAudioSession 은 앱과 시스템의 중개자로서 오디오를 사용하는 방법을 시스템에게 전달하는 객체입니다. Default Audio Session은 기본 동작은 제공하지만 media app에서 필요한 오디오 동작들까지는 제공하지 않습니다. 앱의 audio session category 를 설정해줌으로서 기본 동작을 바꿀 수 있습니다. category 종류로는 7가지가 있습니다. (참고: Audio Session Categories and Modes) 재생 앱이 가장 많이 사용하는 category는 playback 입니다. (녹음된 음악 또는 기타 사운드를 재생하는 카테고리 / 기본 nonmixable 옵션) 이 카테고리는 오디오 재생이 앱의 중앙 기능임을..
- Total
- Today
- Yesterday
- DRF APIException
- drf custom error
- Flutter getter setter
- Dart Factory
- Flutter Clipboard
- Flutter Spacer
- Sketch 누끼
- Python Type Hint
- Watch App for iOS App vs Watch App
- flutter deep link
- 장고 URL querystring
- Django FCM
- Flutter 로딩
- ipad multitasking
- 플러터 얼럿
- cocoapod
- 구글 Geocoding API
- 장고 Custom Management Command
- github actions
- ribs
- Django Firebase Cloud Messaging
- METAL
- flutter build mode
- 플러터 싱글톤
- flutter dynamic link
- PencilKit
- Flutter Text Gradient
- flutter 앱 출시
- Django Heroku Scheduler
- SerializerMethodField
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |