Tuist 4.7.0 기반 [ 문서 ]Tuist Docs 를 보면 다음과 같이 나와있다. 1) Cache Warming Tuist가 종속성 그래프의 각 대상에 대해 해시를 효율적으로 활용하여 변경 사항을 감지합니다. 이 데이터를 활용하여 Tuist는 이러한 대상에서 파생된 이진 파일에 고유한 식별자를 빌드하고 할당합니다. 그런 다음 Tuist는 그래프 생성 시에 원래의 대상을 그에 해당하는 이진 버전으로 원활하게 대체합니다.이 작업은 "캐시 워밍"이라고 불리며, 로컬 사용이나 Tuist Cloud를 통해 팀원 및 CI 환경과 공유하기 위한 이진 파일을 생성합니다. 캐시를 워밍하는 과정은 간단하며 다음 명령으로 시작할 수 있습니다.# re-using binaries from previous builds..
[1] 궁금증 dylib 를 iOS 에서는 직접 못만드는 걸로 알고 있다. 그래서 맥 OS 와 달리 'Static' Library 라고 템플릿 이름이 명시되어있는 것이고 iOS 에서는 오직 System 라이브러리만 다이나믹 가능한 것으로 알고 있다. (예전 관련 글) 하지만 Tuist 를 보다보니.. Product Type 중 Dynamic Library 를 iOS 에서도 쓸 수 있다. Linking 도 잘들어가있고 앱에 embed 할때도 dylib 으로 잘나온다. 이게 어떻게 가능한 것일까 ??? ㄴ Tuist Github 을 뒤져봐도 잘모르겠음 ;;; ㄴ 애플 문서 > Creating Dynamic Libraries 를 봐도 모르겠음 ;;; [2] 추측 세가지 가능성이 있..
Tuist 튜토리얼 이 major version 3 기준이라서초기 만들어지는 파일이나 폴더가 major version 4 랑 많이 다르다. 동료분과 Tuist 팀의 도움으로 겨우 4.7.0 기반 프로젝트 만들기 성공함 🥹3과 달리 4는 한땀한땀 직접 추가해야하는 경우가 많아서 기록해둠 [1] Tuist 4 버전대 설치Installation 가이드 보고 mise 설치 후, tuist 설치 해주면 된다. 나는 옛날에 mise 말고 다른 툴로 tuist 3 버전대를 설치했어서 이 이슈로 시간 많이 잡아먹음 ;; (tuist install 명령어를 통해 외부 의존성을 설치하겠다는 건데 명령어가 충돌나서 tuist 자체를 설치하려고 했던 기억) 답변에 있는 것 처럼 uninstall 하고 mise 로 다시..
☑️ dynamic-callable 간단 설명 @dynamicCallable 은 객체가 함수처럼 동작할 수 있도록 만들어준다. 쉽게 말하면, 해당 객체에 대해 함수 호출 연산자 ()를 사용할 수 있게 해준다. 이를 통해 동적으로 호출되는 동작을 구현할 수 있다.어떤 객체의 호출을 일반화하거나, 다양한 유형의 인자를 처리하는 등의 상황에서 유용하다. [1] 수학연산 @dynamicCallablestruct DynamicMultiplier { func dynamicallyCall(withArguments args: [Int]) -> Int { return args.reduce(1, *) }}let multiplier = DynamicMultiplier()multiplier(1,..
Swift Concurrency 관련 Instruments 는 총 두가지가 있다. 이 중, Swift Tasks 를 활용하는 법을 기록! WWDC 23 > Analyze hanges with Instruments 와 비슷한 예제를 만들어서 진행해보자. # 1. import SwiftUI struct ContentView: View { var body: some View { ScrollView(.horizontal) { LazyHStack { ForEach(0.. Profile > Swift Concurrency 를 열어준다. (혹은 다른 툴을 열고 Instruments Library 에서 Swift Tasks 를 추가해도 무방하다) 레코딩을 해준 후, App > Thread > Graph Display ..
WWDC 23 > Analyze hanges with Instruments 를 기반하고 있습니다. (40분 쯤 되는데 너무 재밌고 유용함. 강추) # Hang hang 은 delay 를 의미한다고 생각하면 됩니다. Xcode Instruments 에서 녹화버튼을 꾹 누르고 Recording Options 에 가보면 Hang, MicroHang 등 애플이 몇초 기반으로 정의해뒀는 지 볼 수 있고 프로파일링할때 어디까지 리포트되게 할 건지 설정가능합니다. # Hang 만들어보기 Hang 을 유발할 코드를 만들어봅시다. struct ContentView: View { @State private var showImagePicker = false var body: some View { Button(action: ..
[1] 문제 Blender에서 Object 를 export 한 후, Reality Composer Pro 로 가져오면 Multiple root level objects exist for ~~ 얼럿이 뜬다. 또한 가져온 오브젝트를 열어보면 material 이 제대로 들어가지 않은 것을 볼 수 있다. [2] 해결 export option 에서 root prim 을 지정해줘야한다. 나는 블렌더 3.1.2 버전인데 export option에 Root Prim 필드가 없다. 몇버전 부터 생겼는지 잘모르겠음;; 4.0을 받으니까 있다. 그럼 얼럿도 안뜨고 material 도 잘 들어간다! + 참고로 Blender 4.1 은 root 설정이 디폴트로 들어가있다고 한다. ㄴ 애플 디벨로퍼 포럼 ㄴ 블렌더 PR 아직 A..
[1] SwiftUI hyperlink accessibility SwiftUI Text 에 마크다운을 넘기거나 (참고: 예제) struct ContentView: View { var body: some View { Text("Hello") + Text("[Apple](https://www.apple.com)") } } AttributedString 를 넘기면 struct ContentView: View { var attributed: AttributedString { let hello = AttributedString("Hello") var apple = AttributedString("Apple") apple.link = URL(string: "https://www.apple.com") return h..
UIKit 에서 셀 (전체) -> 셀 내부의 버튼 으로 포커싱 이동시켜주고 싶으면 accessibilityElements = [ contentView, button ] 이렇게 해줬다. 예를들어 앱스토어 같은 동선이다. ------ 근데 SwiftUI 에서는 이걸 어떻게 할 수 있을까? 레퍼런스는 못찾았고 예전에 [SwiftUI] accessibilityRepresentation 과 accessibilityChildren 를 봤던 기억이 나서 이걸 활용해봤다. 아주 간단하게 비슷한 예제를 만들어보자 VStack 을 combine 하여 다 읽어주고 포커싱 이동하면 안의 버튼만 읽게 해주고 싶다 import SwiftUI struct ContentView: View { var button: some View ..
[ 유니티 문서 & WWDC ] - Unity, visionOS 지원: 개발자라면 미리 알아야 할 내용 - Create for Apple visionOS - WWDC [ 유니티로 만들 수 있는 것 ] [ 유니티 버전 ] Unity 2022.3 LTS(2022.3.5f1 이상) 릴리즈노트 보면 2023 버전은 VisionOS 가 안들어가있어서 저는 Unity 2022.3.15 으로 설치함! (+ 앱에 악성소프트웨어~ 얼럿이 뜨는데;; 여기 참고) ++ 유니티 에디터에서 권장하는 버전인 2022.3.16f1 으로 받으시길 추천! 그럼 에디터 내에서 바로 설치가능하고 얼럿도 안뜸! [ 유니티 포팅 ] File > Build Settings > VisionOS > Player Settings > Ohter Se..
- Total
- Today
- Yesterday
- github actions
- flutter build mode
- flutter dynamic link
- Django FCM
- 장고 URL querystring
- PencilKit
- flutter 앱 출시
- Django Firebase Cloud Messaging
- METAL
- Flutter getter setter
- cocoapod
- Django Heroku Scheduler
- ipad multitasking
- Flutter 로딩
- flutter deep link
- DRF APIException
- Watch App for iOS App vs Watch App
- 구글 Geocoding API
- 플러터 싱글톤
- Flutter Text Gradient
- Python Type Hint
- drf custom error
- ribs
- 장고 Custom Management Command
- Flutter Spacer
- Flutter Clipboard
- 플러터 얼럿
- Sketch 누끼
- Dart Factory
- SerializerMethodField
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |