[iOS] external view hierarchy debugger
렛츠스위프트 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 과 거의 동일한 듯.