[ 이슈 ] A와 B는 다른 preferredStatusBarStyle 을 가지고 있습니다. class AViewController: UIViewController { override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent } ... } class BViewController: UIViewController { override var preferredStatusBarStyle: UIStatusBarStyle { return .darkContent } ... } 1. A에서 B를 present 할 때, B의 modalPresentationStyle을 fullScreen으로 하면 B에 오버라이딩한 statusBarStyle로..
[ 이슈 ] 여기 A와 B 뷰컨트롤러가 있습니다. A와 B의 뷰컨트롤러 뷰, 그리고 서브뷰인 TextView는 따로 background Color를 지정해주지 않았고 systemBackground 를 사용 중입니다. 다크모드에서 테스트해보겠습니다! # 1. modalPresentationStyle = overFullScreen 으로 B 뷰컨트롤러를 present 할 때 A와 B의 view, textView 모두 같은 백그라운드컬러입니다. A와 B 모두 #000000 으로 적용된 것을 볼 수 있습니다. # 2. modalPresentationStyle = overCurrentContext 으로 B 뷰컨트롤러를 present 할 때 A와 B의 view, textView 백그라운드 컬러가 다릅니다. 둘다 sy..
WWDC 2021 > SwiftUI Accessibility: Beyond the basics 를 보던 중, iOS15에 새로 나온 accessibilityRepresentation(representation:) 을 찾아보면서 좋은 예제를 발견해서 정리합니다. 출처는 The power of accessibilityRepresentation view modifier in SwiftUI 글 입니다. [1] accessibilityRepresentation(representation:) 길게 눌렀을 때만 체크상태를 토글하는 LongPressCheckmark라는 커스텀 뷰를 만들었다고 해봅시다. import SwiftUI struct LongPressCheckmark: View { @Binding var isS..
[ 원하는 것 ] 앱 전체 강제 라이트모드 && 몇개 일부 화면만 다크모드 지원하고 싶음 (다크모드 지원하는 화면 수가 전체 화면 수에 비해 매우 매우 적기 때문에 entire app을 라이트로 강제하고 몇개 화면들만 예외처리를 해주고 싶음) [ 이슈 ] 1. AppDelegate 또는 SceneDelegate에서 window의 overrideUserInterfaceStyle 를 light 로 설정 2. A 화면(뷰컨트롤러)의 viewDidLoad 또는 이니셜라이저에서 overrideUserInterfaceStyle 를 undefined 로 설정 하면 시스템 설정에 따라 A 화면의 라이트/다크가 안바뀜 debug logging을 켜고 돌려보자! (-UITraitCollectionChangeLoggingE..
[ 이슈 ] 애플로부터 푸쉬 인증서 갱신하라는 메일을 받음,, 근데 파베 콘솔 > 클라우드 메세징 설정에 가봤더니 APN 인증서가 아니라 APN 인증 키를 사용하고 있었음 (??) iOS에서 Firebase 클라우드 메시징 클라이언트 앱 설정 문서 보고 했는데, 나는 인증키와 인증서를 모두 다 만들었을까 (??) [ APN 인증키 vs APN 인증서] 인증서는 매년 갱신해야하지만, 인증키는 매년 갱신안해도 됨. 인증서는 개발용, 배포용 인증서 따로 있지만, 인증키는 하나로 해결됨. - Establishing a Token-Based Connection to APNs // 애플 문서 - APNs Auth keys VS APNs Certs // Apple Developer Forums - APN Key를 통..
⭐️ 1. 쏘카프레임 https://socarframe.socar.kr 가이드를 웹으로 너무 잘 정리해주셨네요! (로딩 부분 감동,,) https://tv.naver.com/v/15842187 쏘카프레임 구축 배경과 과정 NAVER Engineering | ※ 발표자: 박지홍 님, 전수빈 님 (쏘카) ※ 발표월: 20.07 ※ 목차 - 쏘카프레임 소개 & 구축 배경과 방식 소개 - 다크모드와 컬러 시스템 - 디자이너-개발자의 협업 방법 (컴포넌트 tv.naver.com 디자이너 두분께서 발표해주셨어요! 쏘카는 스케치, 제플린 쓰신다고 합니다! 2. 리디 디자인 시스템 https://ridi.design RIDI Design System 리디를 디자인하기 위한 단 하나의 시스템 ridi.design 발표를..
swift-algorithms 패키지 / swift-collections 패키지 가 등장하면서 (참고: WWDC 2021 Meet the Swift Algorithms and Collections packages) 기존에 extension으로 만들어서 쓰고 있었던 chuck 메소드를 패키지 안의 메소드로 교체할 수 있게 되었습니다! [ as is ] import Foundation extension Array { // https://www.hackingwithswift.com/example-code/language/how-to-split-an-array-into-chunks public func chunked(into size: Int) -> [[Element]] { return stride(from: ..
[ 이슈 ] - 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..
- Total
- Today
- Yesterday
- Flutter Spacer
- 플러터 얼럿
- 장고 URL querystring
- SerializerMethodField
- github actions
- ipad multitasking
- METAL
- Watch App for iOS App vs Watch App
- Python Type Hint
- Dart Factory
- drf custom error
- ribs
- Flutter Text Gradient
- flutter 앱 출시
- flutter build mode
- Django Heroku Scheduler
- DRF APIException
- Django FCM
- Flutter 로딩
- Sketch 누끼
- cocoapod
- flutter dynamic link
- Flutter Clipboard
- 구글 Geocoding API
- 플러터 싱글톤
- PencilKit
- Flutter getter setter
- Django Firebase Cloud Messaging
- 장고 Custom Management Command
- flutter deep link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |