티스토리 뷰
렛츠스위프트 2023 에서 민소네님 발표를 통해 external view hierarchy debugger 가 있다는 것을 알게 되었다. (🥹)
xcode view hierarchy debugger 를 실행하면 개발하다가 일시중단되는 셈이라 생산성이 낮아지고
오래 멈추고 기다렸는데도 안나오면 마음이 어려움.
두가지 소개해주신 것 정리 ~.~
1) Lookin
- 무료
- 오픈소스 (objc 임..)
[ 사용법 ]
위의 사이트에서 맥용 앱을 다운받고 LookinServer 프레임워크를 앱에 embed 한다 (참고)
1. via CocoaPods (Recommended)
pod 'LookinServer', :configurations => ['Debug']
2. via Swift Package Manager
https://github.com/QMUI/LookinServer/
Warning: Never integrate LookinServer in a Release building configuration.
가이드에 적혀있는 것처럼 Debug config 에서만 링킹 되도록 해준다.
cocoapod 문법은 아래를 참고.
[ 후기 ]
안멈추고 뷰디버깅을 할 수 있는 경험이 너무 좋다.
특히 SwiftUI 버전 별로 다른 이슈를 볼때 스유 쪽 내부구현이 바뀌어서 생긴 사이드이펙 인지 확인하려고 뷰디버깅을 활용하는 경우도 있는데, internal 클래스명 까지 잘나온다.
엑코 뷰디버거랑 비교해보면 좀 더 간략하게 계층구조가 나오기는 하는데, 이 정도면 훌륭함
무엇보다 시뮬 여러개 띄워놓고 스위칭 가능한 동선 진짜 넘 편함 ㅠㅠ
(버전별로 편하게 확인할 수 있을 듯)
그리고 검색도 가능하고 여러 요소들을 변경할 수 도 있음.
View > Show layer Outline 토글 기능도 있어서 선을 안나오게 하고
내맘대로 데이터변경해서 원하는 스샷 만들 수 있을 듯! >_<
2) Reveal
- 유료. 14일 free trial 제공.
[사용법]
우선 위의 사이트에서 맥앱을 다운받는다.
여기는 좀 더 다양한 app integration 방법을 제공한다.
- Cocoapod
target 'YourMainAppTargetName' do
pod 'Reveal-SDK', :configurations => ['Debug']
end
- Xcode Breakpoint 를 활영한 Reveal 로딩
등등
[ 후기 ]
계속 이렇게 나와서 나의 앱을 못봄 ㅠㅠ..
(버전도 맞추고 풀클린빌드도 했는데 왜 안되는 것인가)
대신 여기서 제공하는 샘플앱으로 테스트해봄.
우선 뷰하이어러키 옆의 아이콘을 누르면 접근성요소들을 볼 수 있는데
순서 적어주는거 너무 감동적임..
뷰 계층 보기 기능은 LookIn 과 거의 동일한 듯.
'🍏 > iOS' 카테고리의 다른 글
[Xcode] Instruments 로 Hang 개선하기 (8) | 2024.03.08 |
---|---|
[iOS] iOS 17 Text Selection 의 변화 (1) | 2023.11.10 |
[StoreKitTest] StoreKit Configuration File > Price Locale 바꾸는 법 (0) | 2023.08.08 |
[iOS] Swift Package 에서 커스텀 폰트 사용하기 (0) | 2023.03.13 |
[iOS] Library, Framework, Swift Package (0) | 2022.11.06 |
- Total
- Today
- Yesterday
- flutter build mode
- github actions
- Flutter 로딩
- cocoapod
- Flutter Text Gradient
- 플러터 싱글톤
- 장고 Custom Management Command
- Django Firebase Cloud Messaging
- Python Type Hint
- Dart Factory
- 플러터 얼럿
- 구글 Geocoding API
- Django FCM
- DRF APIException
- PencilKit
- SerializerMethodField
- METAL
- flutter deep link
- flutter 앱 출시
- Flutter Spacer
- ipad multitasking
- Django Heroku Scheduler
- 장고 URL querystring
- drf custom error
- Flutter Clipboard
- ribs
- Flutter getter setter
- Sketch 누끼
- flutter dynamic link
- Watch App for iOS App vs Watch App
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |