이 글은 제가 몰랐거나 자주 까먹는 단축키들만 모을 예정으로 더 많은 단축키를 보고 싶다면 이 글을 추천합니다~ [1] 중복커서 (Option + Drag) Fast Campus > 슈퍼앱 강의를 듣다가 알게 된 것인데, Option 누르고 드래그를 하면 커서를 중복으로 만들 수 있다. 아래 예제 (출처: 강의에서 나오는 예제) 처럼 여러 프로퍼티에 public 을 붙일 때 유용하게 사용 가능하다!! (그동안 하나씩 해줬는데 ㅠㅠㅠ 감동) [2] MiniMap 토글 (Control + Shift + Command + M) 코드 라인 수가 많은 파일을 볼 때 유용한 미니맵. Xcode 의 저부분을 눌러서 토글할 수 있지만 단축키로 편하게 할 수 도 있다. 코드를 작성하거나 라인 수가 적은 코드를 볼 경우,..
Self vs self - what's the difference? 에 대해서는 대충 알고 있었지만, 예전에 iOS Test-Driven Development by Tutorials (raywenderlich) 를 보다가 샘플코드 중, 이런 식으로 되어있는 것을 보고 좀 헷갈려서 Self Type 문서를 봐야지~~ 했는데 이제야 봅니다,,, https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_self-type Types — The Swift Programming Language (Swift 5.5) Types In Swift, there are two kinds of types: named types and compound types..
[ 처음 Coordinator를 제안하신 분의 글 ] https://khanlou.com/2015/01/the-coordinator/ Khanlou | The Coordinator January 20, 2015 The Coordinator One of the biggest problems with the big view controllers is that they entangle your flow logic, view logic, and business logic. When a table cell is selected, that delegate method typically looks like this: - (void)tableVi khanlou.com https://khanlou.com/2015/10/..
[ 이슈 ] 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: ..
- Total
- Today
- Yesterday
- Django FCM
- METAL
- Flutter Text Gradient
- Django Firebase Cloud Messaging
- Flutter Spacer
- flutter 앱 출시
- Flutter Clipboard
- ipad multitasking
- github actions
- Django Heroku Scheduler
- Flutter 로딩
- 장고 Custom Management Command
- drf custom error
- Flutter getter setter
- flutter deep link
- ribs
- Python Type Hint
- 플러터 싱글톤
- Sketch 누끼
- cocoapod
- 장고 URL querystring
- flutter dynamic link
- DRF APIException
- SerializerMethodField
- 구글 Geocoding API
- Dart Factory
- PencilKit
- 플러터 얼럿
- flutter build mode
- Watch App for iOS App vs Watch App
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |