# Swift Pacakge Plugin - Xcode 14 부터 Swift Package 를 만드는 것과 유사한 방식으로 Swift Package Plugin 을 만들 수 있다. - 이 플러그인은 Swift 스크립트로 Swift 패키지나 Xcode 프로젝트에서 사용할 수 있다. - 빌드 전이나 빌드 중에 실행되는 사용자 정의 명령 (ex. 소스코드 생성) 을 실행할 수 있다 . 이전에는 shell script 나 makefile 로 이런 작업을 했으나 이젠 플러그인을 만들어서 할 수 있는 것이다. 자동화, 공유 의 이점을 가져갈 수 있다. - Xcode 는 플러그인을 컴파일하고 실행한다. 플러그인은 실행 파일과 입력 파일에 대한 정보를 사용해서 명령을 구성한다. 그리고 필요에 따라 ..
[1] Linker Option > release vs debug 다음과 같이 프로젝트를 세팅했을 때 debug랑 release 의 빌드로그 차이점 몇가지를 살펴 보자. 1) debug 빌드일때만 링커에 -export_dynamic, -no_deduplicate 옵션을 넘긴다 우선 해당 옵션을 하나씩 보자 # -no_depulicate 중복 제거 최적화 (사이즈 최적화) 를 하지 말라는 옵션이다. debug 빌드는 빠른 속도가 중요하기 때문에 사이즈 최적화 단계를 거치지 않도록 해당 옵션을 넘긴다. # -export_dynamic 공유 라이브러리의 symbol을 외부로 노출시키고, 다른 모듈에서 해당 기호를 사용할 수 있도록 하는 옵션이다. (출처 GPT) debug 에서는 중복제거를 안하므로 dupli..
[1] 바닐라 Static Framework 에서는 프리뷰를 볼 수 없다. https://forums.developer.apple.com/forums/thread/704910 Getting error in previews when are… | Apple Developer Forums Previews don't work when are inside of a static framework. Has anyone experimented it also? MessageSendFailure: Message send failure for update ================================== | RemoteHumanReadableError: Unknown preview provider "Provid..
Tuist 4.7.0 기반 [ 문서 ] Tuist Docs 를 보면 다음과 같이 나와있다. 1) Cache Warming Tuist가 종속성 그래프의 각 대상에 대해 해시를 효율적으로 활용하여 변경 사항을 감지합니다. 이 데이터를 활용하여 Tuist는 이러한 대상에서 파생된 이진 파일에 고유한 식별자를 빌드하고 할당합니다. 그런 다음 Tuist는 그래프 생성 시에 원래의 대상을 그에 해당하는 이진 버전으로 원활하게 대체합니다. 이 작업은 "캐시 워밍"이라고 불리며, 로컬 사용이나 Tuist Cloud를 통해 팀원 및 CI 환경과 공유하기 위한 이진 파일을 생성합니다. 캐시를 워밍하는 과정은 간단하며 다음 명령으로 시작할 수 있습니다. tuist cache 팁: 캐시를 워밍하기 위해 별도의 CI 파이프라인..
[1] 궁금증 dylib 를 iOS 에서는 직접 못만드는 걸로 알고 있다. 그래서 맥 OS 와 달리 'Static' Library 라고 템플릿 이름이 명시되어있는 것이고 iOS 에서는 오직 System 라이브러리만 다이나믹 가능한 것으로 알고 있다. (예전 관련 글) 하지만 Tuist 를 보다보니.. Product Type 중 Dynamic Library 를 iOS 에서도 쓸 수 있다. Linking 도 잘들어가있고 앱에 embed 할때도 dylib 으로 잘나온다. 이게 어떻게 가능한 것일까 ??? ㄴ Tuist Github 을 뒤져봐도 잘모르겠음 ;;; ㄴ 애플 문서 > Creating Dynamic Libraries 를 봐도 모르겠음 ;;; [2] 추측 세가지 가능성이 있을 것이라고 생각했다. 1) ..
- Total
- Today
- Yesterday
- Flutter Clipboard
- flutter 앱 출시
- PencilKit
- ribs
- Flutter Spacer
- 플러터 얼럿
- Watch App for iOS App vs Watch App
- github actions
- flutter build mode
- Django Heroku Scheduler
- Sketch 누끼
- Django FCM
- drf custom error
- DRF APIException
- 장고 URL querystring
- cocoapod
- 플러터 싱글톤
- ipad multitasking
- Python Type Hint
- METAL
- 구글 Geocoding API
- Flutter getter setter
- Flutter 로딩
- 장고 Custom Management Command
- flutter dynamic link
- Flutter Text Gradient
- Django Firebase Cloud Messaging
- Dart Factory
- SerializerMethodField
- flutter deep link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |