User Notifications framework를 사용하여 Local Notification을 create & schedule 할 수 있습니다. [1] Asking Permission to Use Notifications Asking Permission to Use Notifications 문서 를 참고해주세요. 이런 얼럿을 띄워서 Notification 권한을 먼저 받아줍니다. 보통 이 얼럿은 앱 처음 실행시킬 때 보여주잖아요! 근데 문서에서는 사용자가 이 앱에 노티 권한이 필요한 이유를 이해할 수 있는 context에서 권한을 요청하라고 나와있습니다. 예를들어 리마인드 노티를 보내주는 task-tracking 앱이라고 한다면, 사용자가 첫번째 Task를 예약한 후 이 권한을 요청하는 것이 좋습니다..
WWDC 2019 - Large Content Viewer - Ensuring Readability for Everyone 를 본 기록 ✏️ [1] Large Content Viewer 란? 우리의 목표는 앱의 모든 부분이 모든 사용자에게 readable한 것입니다. Large Content Viewer은 Dynamic Type이랑 연관되어있습니다. (참고: Dynamic Type 글) 텍스트 사이즈를 Accessibility size 중 하나로 키워봅시다. 하지만 탭바의 텍스트는 여전히 커지지 않은 것을 볼 수 있습니다. 자리가 부족하기 때문에 탭바를 키우고 싶지는 않습니다. 대신 해당 버튼을 long press 하면 더 큰 버전을 볼 수 있습니다. 탭바 안에서 손가락을 Drag하면 각 탭의 큰 버전이..
WWDC 2019 - Creating an Accessible Reading Experience 를 본 기록 ✏️ [ 인트로 ] 이렇게 긴 형식의 읽는 콘텐츠를 표시하는데 중점을 둔 앱의 경우, 보통 좋은 사용자 인터페이스를 제공하기 위해서 custom text layout를 구현합니다. custom text layout을 구현하기 위해서 Core Text나 TextKit 같은 lower level technologies로 전환해야하는 경우가 많습니다. 이 세션에서는 VoiceOver 모드에서 훌륭한 accessible reading experience를 제공하기 위한 방법을 알아볼 것입니다. [1] Reading Content Protocol 아래와 같은 Page based 앱을 예제로 살펴보겠습니다...
WWDC 20 - Make your app visually accessible 를 본 기록 ✏️ [ 인트로 ] visual accessibility를 생각할 때 너는 VoiceOver(built-in screen reader on iOS)를 생각할 것입니다. 하지만 visual accessibility에는 VoiceOver 뿐만아니라 더 많은 것들이 있습니다. 어떤 사람들은 완전한 시야(full sight), 부분적인 시야(partial sight) 또는 낮은 시야(low sight)를 가지고 있고, 어떤 사람들은 전혀 보지 못합니다. 그리고 그 사이에는 색맹(color blindness), 빛 민감도(ight sensitivity), 움직임 민감도(motion sensitivity) 등 많은 것들이 있..
WWDC 20 - App accessibility for Switch Control 를 본 기록 ✏️ [1] Switch Control 이란? 스위치 컨트롤(Switch Control)은 운동 능력이 제한된 사용자(Users with limited motor abilities)가 하나 이상의 외부 스위치나 버튼을 사용하여 iOS 기기와 상호 작용할 수 있도록 하는 애플 장치에 내장된 기술입니다. 사용자는 이 스위치를 이용해서 커서를 이동시키거나 특정 제스쳐(스크롤, 탭, 볼륨조절 등) 할 수 있습니다. 보통 이러한 스위치나 버튼은 휠체어에 장착되고 사용자는 헤드탭(head taps), 혀 클릭(tongue clicks), 빨대 내쉬기(breathing in or out into a straw) 등으로 스..
- Total
- Today
- Yesterday
- Flutter getter setter
- SerializerMethodField
- Flutter Spacer
- DRF APIException
- flutter build mode
- Flutter Clipboard
- flutter 앱 출시
- 플러터 싱글톤
- Dart Factory
- Flutter Text Gradient
- PencilKit
- 장고 URL querystring
- flutter deep link
- cocoapod
- flutter dynamic link
- Django FCM
- 구글 Geocoding API
- Django Firebase Cloud Messaging
- Sketch 누끼
- METAL
- 플러터 얼럿
- github actions
- ipad multitasking
- Python Type Hint
- 장고 Custom Management Command
- Watch App for iOS App vs Watch App
- Flutter 로딩
- Django Heroku Scheduler
- drf custom error
- ribs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |