XCode > Build Setting에서는 Swift major 버전만 확인가능합니다. (swift 4.2만 왜 나오는 지 모르겠네요) Swift5로 되어있을 때 구체적 버전을 알고 싶으니 통상적인 명령어(?)를 실행시켜봅니다. 하지만 이 명령어는 응용프로그램에 있는 xcode 버전만 나오는 것 같아요 (추측) swift --version swift 5.5를 쓰는 xcode를 끌어다놓고(바탕화면에 위치함) 아래 명령어를 입력해주면 여전히 swift 5.4로 나오기 때문...!!! 그러면 xcode별 구체적인 버전을 확인하고 싶다면 어떻게 해야할까요?! 터미널에 xcode를 끌어다놓고 (자동으로 path가 입력됨) path 뒤에 이것을 입력해주면 됩니다! /Contents/Developer/Toolcha..
Accessibility 관련 헷갈리는 것 정리-!! 특히 accessibilityElementsHidden 이 용어 때문에 헷갈리는 것 같다,,, (서브뷰들을 모두 접근성 element로 안해줘야지! 할 때 child, all 이란 용어가 떠오르면서 이 단어가 생각이 잘안나는 듯 ㅠㅠ) [1] isAccessibilityElement somView.isAccessibilityElement = false someView의 accessibility가 disable 된다. [2] accessibilityElementsHidden somView.accessibilityElementsHidden = true someView 뿐만 아니라 someView의 모든 subviews들의 accessibility도 함께 ..
Reality Composer + Xcode 를 써보며 알게 된 것 정리-!! 우선 프로젝트를 만들어줍니다. AR App 선택 > RealityKit 선택해서 만들어줍니다. 그럼 이런 코드가 기본적으로 생성이 됩니다. [1] 코드에서의 size, position 단위는 미터! Experience.rcproject를 선택해서 Open in Reality Composer를 눌러줍니다. 그리고 Reality Composer 에서 골드 material 를 선택해주고 Gold Box라고 네이밍을 해줍니다. 여기서 빨간 네모에 주목해주세요!!!! Reality Composer에서 postion, size 등이 다 센티미터 단위입니다! 이제 코드로 돌아옵니다. Scene name이랑 Entity name을 잘 입력해..
RealityKit의 4가지 기본 개념을 알아봅시다. - ARView - Scene - Anchor - Entity [1] ARView ARView는 augmented reality experience를 display 해주는 뷰입니다. [2] Scene Scene은 문서에서 'entity 모음을 들고 있는 container' 라고 표현하고 있습니다. 사전적 의미 그대로 장면이라고 이해하면 쉽습니다. Reality Composer를 보면 Scene을 추가할 수 있습니다. 이것은 Watermelon Scene 이것은 Bread Scene [3] Anchor Entity들이 위치하는 기준 바닥(?) 이라고 생각하면 됩니다. 모든 Entity들은 anchored 되어야합니다. Reality Composer를 보..
[1] Focus System UIFocusItem 프로토콜은 item이 focused 될 수 있음을 의미합니다. UIFocusEnvironments 프로토콜은 focusable items들 간의 hierarchy를 정의합니다. UIView는 이 두개의 프로토콜을 채택하고 있습니다. 즉 모든 뷰는 focused 될 수 있으며, focused 될 수 있는 subviews를 가질 수도 있습니다. UIViewController는 오직 UIFocusEnvironments 프로토콜만 채택하고 있습니다. [2] Focusability canBecomeFocused 는 현재 뷰가 being focused 될 수 있는 지 여부를 나타내는 프로퍼티 입니다. 이 프로퍼티를 통해 focus engine 에게 view의 fo..
[Swift] async / await 동작원리 에서 이어집니다. WWDC 2021 - Meet async / await in Swift 중, async / await 에 대한 사용사례를 기록한 글입니다. [1] Async sequences for문에서도 await / async 를 사용할 수 있습니다. 자세한 내용은 WWDC 21 - Meet AsyncSequence / WWDC 21 - Explore structed concurrency in Swift 를 참고해주세요 [2] Testing async code 예전에 비동기 테스트를 하려면 expection을 setting하고 expection.fulfill 도 해줘야하고 wait도 불러줘야하고 불편했습니다. 하지만 async를 쓰면 불편한 것들이 싹..
[Swift] async / await 등장배경 에서 이어집니다. WWDC 2021 - Meet async / await in Swift 중, async / await 에 대한 소개를 기록한 글 입니다. [1] async / await 이제 async / await 을 사용한 버전을 살펴봅시다. function에 completionHandler를 넘겨주는 대신 function에 async를 표시해줬습니다. 아래 함수처럼 throws 앞에 async를 적어줘야합니다. (다른 위치에 적으면 function이 throws 되지 않는다고 합니다) async throws를 표시한 저 함수는 어떻게 동작할까요? - thumbnail이 성공적으로 받아와지면 thumbnail은 simply return 됩니다. - 하..
Time Format 중 Hour를 헷갈렸어서 정리 [ 요약 ] - HH: 24 hour format / 무조건 2자리 (필요할 경우, 앞에 0 붙여줌) - hh : 12 hour format / 무조건 2자리 (필요할 경우, 앞에 0 붙여줌) - H : 24 hour format / 1~2 자리 - h: 12 hour format / 1~2 자리 [ 실험 ] 우선 플레이그라운드를 열고 준비를 합니다. Case 1. let sampleDate = date(year: 2021, month: 7, day: 5, hour: 22, minute: 30)! print(DateFormatter.time_HHmm.string(from: sampleDate)) // 22:30 print(DateFormatter.tim..
[CleanSwift] 클린스위프트(Clean Swift)에 대해 알아보자 에서 이어집니다. Clean Swift HandBook 에서는 CleanStore라는 예제 를 만들기 전에 템플릿에 대해 쭉 설명을 해줍니다. 정리하여 기록한 글입니다 ✏️ [1] Xcode Template 설치 우선 Xcode Template을 설치해줍니다. 여기 들어가서 이 폼을 입력하면 메일로 템플릿을 보내줍니다. 다운받으니까 이런 폴더가 나오는데 README.md 를 가보면 이 명령어로 template을 install / uninstall 할 수 있다고 하네요 다운받은 폴더로 이동하여 install 명령어를 실행시켜주면 템플릿 설치 완료! CleanSwift에서 제공하는 템플릿 관련 영상 도 참고하면 좋습니다. [2] 프로..
WWDC 2021 - Meet async / await in Swift 중, 등장배경만 기록한 글 입니다. ✏️ UIKit은 iOS 15부터 이미지 썸네일링을 할 수 있는 메소드들을 제공합니다. func preparingThumbnail(of: CGSize) -> UIImage? - synchronous한 방식 func prepareThumbnail(of: CGSize, completionHandler: (UIImage?) -> Void) - asynchronous 한 방식 이 썸네일 메소드를 예시로 하여 어떤 문제점이 있어서 async / await이 등장하게 되었는 지를 말씀해주십니다. # synchronous function 을 쓸 때 synchronous한 방식의 메소드를 쓰면 해당 쓰레드는 bl..
- Total
- Today
- Yesterday
- Flutter Text Gradient
- github actions
- 장고 Custom Management Command
- Flutter Clipboard
- Django Heroku Scheduler
- flutter build mode
- Sketch 누끼
- Django Firebase Cloud Messaging
- Flutter getter setter
- ribs
- Flutter 로딩
- flutter dynamic link
- Watch App for iOS App vs Watch App
- flutter 앱 출시
- 장고 URL querystring
- METAL
- Django FCM
- SerializerMethodField
- PencilKit
- 구글 Geocoding API
- ipad multitasking
- flutter deep link
- DRF APIException
- 플러터 싱글톤
- cocoapod
- drf custom error
- Flutter Spacer
- 플러터 얼럿
- Python Type Hint
- Dart Factory
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |