iOS

Lookin 맛보기

Phililip
728x90

안녕하세요.

 

이번에 회사님의 도움을 받아 Let's Swift 2023에 참석했어요!!

 

행사에서 많은 것을 배우고 느낄 수 있었는데, 그 중에서도 Lookin이라는 것을 처음 알게 되어 가볍게 알아보려고 합니다ㅎㅎ

 


# Lookin이 뭐야?

쉽게 말해서, Lookin은 Xcode의 View hierarchy 창과 비슷한 UI를 제공하면서 런타임 중에 UI 속성을 수정할 수 있게 도와줍니다.

 

https://lookin.work/

 

# 사용법

1) Lookin 홈페이지에서 Download 버튼을 눌러서 Lookin macOS 앱을 설치합니다.

 

 

2) Xcode 프로젝트에 CocoaPods으로 Lookin iOS Framework를 추가합니다.

(SPM도 지원하지만 CocoaPods 사용을 권장한다고 해요!)

 

[주의] Lookin 모듈을 Release 타켓에 추가하지 않도록 주의해 주세요.
[참고] Lookin 모듈 이름이 왜 LookinServer 인가?
하단의 '기타 > Lookin 동작 방식' 내용 참고해 주세요.

 

3) Lookin 실행

4) 앱 빌드 후  Lookin에서 앱 선택

 

 

5) Inspector 창에서 UI 이것저것 디버깅 가능

 

 

6) 추가 고오급 기능은 아래 문서 참고!

- https://lookin.work/faq/config-file/

 

https://lookin.work/faq/config-file/

 

lookin.work

 

 

# 기타

## SwiftUI에서도 Lookin 동작할까?

SwiftUI에서도 Lookin을 사용할 수 있어요!

 

Label text 수정과 같은 몇 가지 기능이 완벽하게 동작하지 않을 수 있지만 SwiftUI에서도 Lookin을 쓸 수 있어요.

 

 

한 가지 특징은 앱을 빌드하지 않아도 Preview가 실행 중이면 Lookin을 사용할 수 있다는 것입니다.

 

 

 

## Reveal vs Lookin

https://github.com/hughkli/Lookin/blob/Develop/Docs/Lookin%E5%8E%9F%E7%90%86%E5%8F%8A5%E4%B8%AA%E5%BC%80%E5%8F%91%E9%9A%BE%E7%82%B9.md

 

 

## Lookin 동작 방식

https://github.com/hughkli/Lookin/blob/Develop/Docs/Lookin%E5%8E%9F%E7%90%86%E5%8F%8A5%E4%B8%AA%E5%BC%80%E5%8F%91%E9%9A%BE%E7%82%B9.md

 

1) iOS 앱이 response를 줄 수 있는 상황인지를 Lookin macOS 앱 <-> Lookin iOS Framework 간 Ping/Pong으로 확인합니다.

(관계 상 Lookin macOS 앱이 클라, Lookin iOS Framework가 서버가 되므로, iOS Framework가 LookinServer라는 이름을 가지게 된 것으로 보입니다ㅎㅎ)

 

2) 서버 측이 Hierarchy 요청을 받은 후, 모든 뷰에 대한 정보를 패키지로 만들어서 클라이언트 측에 보냅니다. 클라이언트 측에서는 이 정보를 다시 layer tree로 재구성합니다.

 

3) 서버 측은 각 뷰의 스크린샷과 속성 목록을 클라이언트 측에 전송하여 더 자세한 데이터를 렌더링하도록 합니다.

 

4) 클라이언트 측은 사용자가 조작한 정보를 서버 측에 계속 전달하고, 서버 측은 이를 토대로 우선 순위를 조정하여 사용자가 조작한 뷰 정보를 먼저 수집합니다.(?)

(클라가 전달한 정보로 hot reloading 한다고 보면 되겠죠...?)

 

 

 

# 참고

https://lookin.work/

https://github.com/hughkli/Lookin/blob/Develop/Docs/Lookin%E5%8E%9F%E7%90%86%E5%8F%8A5%E4%B8%AA%E5%BC%80%E5%8F%91%E9%9A%BE%E7%82%B9.md

 


이번 글은 여기서 마무리.

 

 

 

반응형

'iOS' 카테고리의 다른 글

Verifying the origin of your XCFrameworks  (0) 2024.02.08
.a static library를 xcframework로 만드는 방법  (6) 2023.12.31
Certificate, Provisioning Profile  (0) 2023.09.25
Signing xcframework  (0) 2023.08.14
xcframework 빌드 스크립트  (0) 2023.08.08