Provisioning Profile 관련 헷갈리는 것들을 기록 ✏️ [1] Provisioning Profile의 Capabilities 는 지원가능한 Capabilities를 말한다. MyApp이라는 예제 앱을 만들고 developer 사이트 > Identifiers 에 가서 App ID를 등록해줬습니다. 이 때 Capabilities 중 Access WiFi Information을 체크해준 것을 주목해주세요! 그리고 Profiles에서 Provisiong Profile을 만들고 다운로드 눌러줍니다. 그리고 다운로드된 Provisiong Profile을 더블 탭하여 설치해주면 XCODE Provisiong Profile 목록에 뜨는 데 선택해줍니다. 느낌표 눌러서 Provisiong Profile 정..
User Notifications framework를 사용하여 Local Notification을 create & schedule 할 수 있습니다. [1] Asking Permission to Use Notifications Asking Permission to Use Notifications 문서 를 참고해주세요. 이런 얼럿을 띄워서 Notification 권한을 먼저 받아줍니다. 보통 이 얼럿은 앱 처음 실행시킬 때 보여주잖아요! 근데 문서에서는 사용자가 이 앱에 노티 권한이 필요한 이유를 이해할 수 있는 context에서 권한을 요청하라고 나와있습니다. 예를들어 리마인드 노티를 보내주는 task-tracking 앱이라고 한다면, 사용자가 첫번째 Task를 예약한 후 이 권한을 요청하는 것이 좋습니다..
[ 목표 ] RIBs 에서 Template과 template을 xcode에 설치할 수 있는 스크립트를 제공하는 것처럼 두개의 템플릿 (Reactor Template / Reactor Unit Tests Template)과 install 스크립트를 만들어보기! 그리고 Reactor Template에 옵션 (접근제어자를 public으로 할 건지 internal로 할 건지) 을 추가해보기! [1] 초기 setup 우선 reactor-tooling 이라는 폴더를 만들고 Reactor.xctemplate Reactor Unit Tests.xctemplate 이라는 두개의 빈 폴더를 만들어줬습니다. 그 다음 RIBs의 install 스크립트 를 적당히 수정해서 폴더로 가져와줍니다. #!/usr/bin/env sh ..
viewDidLoad 에 관한 실험 (⚠️ 실험만 있고 분석은 없습니다 ⚠️) XIB로 만든 뷰컨이랑 스토리보드에서 만든 뷰컨이랑 실험해봅니다. 참고로 저렇게 viewDidLoad 안에서 프린트안하고 isViewDidLoaded 를 찍어보면서 테스트해도 됩니다! Case 1. class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let vc = XIBViewController() let vc2 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(identifier: "StoryboardViewController") as! Sto..
Understanding Xcode Build System 이라는 포스팅을 읽었는데 대학생때 배웠던 Compile Process (전처리기 -> 컴파일러 -> 어셈블러 -> 링커) 에 여기저기서 주워들은(?) llbuild, SIL, clang 등 Xcode Build 관련 용어들이 단계별로 들어가있었습니다. 신기해서 기록합니다 ✏️ 저의 번역말고 원글을 읽어보시는 것을 추천드립니다. 이렇게 다섯단계인데 한 단계씩 살펴보겠습니다. [1] 전처리기 Preprocessor 전처리 단계의 목적은 컴파일러에 제공할 수 있는 방식으로 프로그램을 변환하는 것입니다. 매크로(macro)를 정의로 대체하고 dependencies를 발견하며 전처리기 지시문(preprocessor directives)를 해결합니다. Sw..
Supporting Dark Mode in Your Web Content WWDC 영상을 보고 테스트해본 기록 ✏️ 웹뷰를 다크모드 대응해주기 위해 CSS쪽에서 간단한 대응을 해주면 됩니다..! [ 준비 ] 아래와 같이 테스트할 준비를 해주세요 저 URL이 내려주는 CSS를 바꿔가면서 테스트 해볼게요 [ 기본 CSS ] 이렇게 생긴 CSS가 있다고 해보겠습니다. 참고로 태그 안에 css코드를 넣는 것보다 stylesheet.css 파일을 따로 만들고 아래와 같이 css를 넣어주는게 더 좋은 방법이에요!+! 저는 테스트니까 이렇게 할게요 테스트해보면 다크모드 반영이 안됩니다. [ 다크모드 대응 CSS ] 애플에서 추가해주라는 것을 추가해볼게요 이것을 CSS에 추가하면 다크/라이트 모드를 구분할 수 있고 기..
[1] Dynamic Color란 iOS 13부터 Dynamic Color가 지원되었습니다. 하나의 컬러이지만 라이트모드일때, 다크모드일때 각각 다른 컬러를 가지고 있고 상황에 맞게 적용됩니다. systemBackground 같은 시스템 컬러를 쓰거나 Color Asset에서 원하는 커스텀 컬러를 지정해줄 수 있습니다. 아래의 코드를 실행시키고 라이트, 다크 모드로 변환시켜보면 잘되는 것을 볼 수 있습니다. class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = UIColor.systemBackground } } [2] Dynamic Color의 원리 (1)..
우선 302 는 redirection status code입니다. 크롬 > 개발자도구에서는 Status Code를 302로 받는데, PostMan과 Alamofire는 200으로 받더라구요. 아마 알아서 redirect를 해줘서 그런 것 같아요ㅠㅠ 반면 크롬 > 개발자 도구 찍어보면 redirect url로 접속한 것도 각각 로그로 찍혀요-!! status code가 302로 떨어질때 그때 주는 response header 중에 제가 꼭 필요한 값이 있는데 그것을 꺼내써야해서 PostMan과 Alamofire도 302로 코드를 받도록 변경해보겠습니다-!!! [1] PostMan PostMan에서는 200으로 받아요 PostMan > Preference > Settings에 가보면 Automatically..
Authorizing OAuth Apps 문서를 보고 따라한 기록-!! 저는 Github API를 이용해서 private repo에 접근하려고 (풀리퀘 등등 얻어오기 위함) Github OAuth Access Token이 필요해서 따라하게 되었습니다 :-) [ 순서 ] 1) OAuth application 등록하고 client_id 랑 client_secret 값을 알아낸다. 2) 사용자를 로그인 시켜서 임시 토큰이라고 할 수 있는 code 값을 받는다. 3) code값을 이용하여 access_token을 구한다. [1] OAuth application 등록하고 client-id & client-secret 값 얻기 register 에 들어가서 깃헙 로그인을 할 자신의 앱을 등록해주세요 제 프로젝트 이름..
- Total
- Today
- Yesterday
- Django Heroku Scheduler
- flutter deep link
- flutter 앱 출시
- drf custom error
- Dart Factory
- DRF APIException
- Flutter Text Gradient
- 구글 Geocoding API
- PencilKit
- Sketch 누끼
- Flutter 로딩
- ipad multitasking
- Watch App for iOS App vs Watch App
- SerializerMethodField
- ribs
- Flutter getter setter
- Python Type Hint
- cocoapod
- 플러터 얼럿
- Flutter Clipboard
- 장고 URL querystring
- flutter build mode
- METAL
- Django FCM
- 장고 Custom Management Command
- github actions
- Flutter Spacer
- flutter dynamic link
- 플러터 싱글톤
- Django Firebase Cloud Messaging
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |