티스토리 뷰
[1] 바닐라
Static Framework 에서는 프리뷰를 볼 수 없다.
https://forums.developer.apple.com/forums/thread/704910
이유는 GPT의 대답을 참고하자.
두가지 대응방법이 있겠다.
1) 개발 중에는 dynamic 으로, 배포때는 static 으로 둔다.
2) Static Framework 에 Dynamic Preview (Dynamic Framework) 를 두고 프리뷰를 본다.
[2] Tuist
Tuist 에서도 두가지 대응방법을 사용할 수 있겠다.
1)
tuist edit 에서 설정을 바꿀 수 있겠지만,
Generation-time configuration 을 사용하면 더 편하다.
예를들어
이렇게 세팅해주고
(참고: Environment 는 @dynamicMemberLookup 이 붙어있는 enum)
아래의 command 로 generate 해주면 TuistUI가 dynamic framework 로 세팅된다.
TUIST_FOR_PREVIEW=TRUE tuist generate
(참고: command에서 TUIST_XXX 형식을 환경변수로 봄)
2)
Tuist 에서 제공하는 예제
https://github.com/tuist/tuist/tree/main/fixtures/app_with_previews
ResourcesFramework 는 static 인데
프리뷰를 보기 위해 PreviewsFramework 라는 dynamic framework 를 추가했다.
[3] Best Practice ?
우선 배포 후에도 프리뷰를 볼 수 있으면 더 좋으니까 2번 방식이 더 좋아보인다.
하지만 프리뷰가 퀵하게 해당 뷰 파일에서 이 코드가 어떻게 그려지는 지를 바로바로 보는건데
다른 모듈에 가서 봐야하는게 좋은 경험 같지는 않다.
(특정 뷰 를 지우면 프리뷰 쪽에 가서 같이 지워줘야하는 것도 관리포인트 면에서도 좀 별로이고..)
또한 UI 관련 모듈이 여러개 이면 (HomeUI, SettingUI ..)
프리뷰 모듈도 동일하게 여러개 가 되어야하는 것인가 ? (HomeUIPreview, SettingUIPreview...)
개발용 프리뷰라면 하나에 다 넣겠는데
프레임워크 사용자에게도 프리뷰를 보여주는게 좋지 않겠는가 .. ?
'🍏 > Tuist' 카테고리의 다른 글
[Tuist] tuist scaffold (Template 으로 모듈 자동생성) (0) | 2024.10.02 |
---|---|
[Tuist] Cache (10) | 2024.04.08 |
[Tuist] iOS 에서 Dynamic Library (dylib) 를 직접 만들 수 있는가 ? (2) | 2024.03.29 |
[Tuist] 프로젝트 만들기 (4.7.0 버전) (7) | 2024.03.26 |
- Total
- Today
- Yesterday
- Flutter Spacer
- flutter build mode
- Django FCM
- ipad multitasking
- METAL
- SerializerMethodField
- 장고 Custom Management Command
- Flutter Clipboard
- cocoapod
- drf custom error
- flutter deep link
- 구글 Geocoding API
- 장고 URL querystring
- Django Firebase Cloud Messaging
- github actions
- Django Heroku Scheduler
- Flutter 로딩
- Python Type Hint
- 플러터 싱글톤
- PencilKit
- Flutter Text Gradient
- flutter dynamic link
- Watch App for iOS App vs Watch App
- ribs
- Sketch 누끼
- Flutter getter setter
- DRF APIException
- Dart Factory
- 플러터 얼럿
- flutter 앱 출시
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |