Hotwire Native WebView 디버깅 가이드

Debugging Hotwire Native - WebView Debugging | William Kennedy

작성자
발행일
2025년 10월 21일

핵심 요약

  • 1 Hotwire Native 앱의 WebView 디버깅 방법을 iOS 및 Android 플랫폼별로 상세히 설명하며, 웹 인스펙터 연결 절차를 다룹니다.
  • 2 iOS WebView 디버깅은 시뮬레이터에서 앱 실행 후 Safari 개발자 모드를 통해 웹 인스펙터를 연결하며, 필요시 `webView.isInspectable` 설정을 확인해야 합니다.
  • 3 Android WebView 디버깅은 Chromium 기반 브라우저에서 `chrome://inspect/#devices`를 통해 쉽게 접근 가능하며, CSS, Bridge 컴포넌트, 코드 디버깅 등 다양한 이점을 제공합니다.

도입

Hotwire Native 애플리케이션 디버깅 여정의 일환으로, 본 문서는 WebView 디버깅에 초점을 맞춥니다. Hotwire Native는 웹뷰를 네이티브 앱으로 감싸는 방식으로 작동하며, 이전 글에서 다룬 광범위한 디버깅 기법에 이어 오늘은 WebView 디버깅을 위한 구체적인 기술을 탐구합니다. 특히 iOS와 Android 환경에서 웹뷰 인스펙터를 효과적으로 연결하고 활용하는 방법을 안내하여 개발 생산성을 향상시키는 데 기여하고자 합니다.

Hotwire Native 애플리케이션의 WebView 디버깅은 플랫폼별로 상이한 접근 방식을 요구합니다. 각 플랫폼에 대한 상세한 절차는 다음과 같습니다.

iOS WebView 디버깅

iOS 앱의 웹 인스펙터를 연결하는 과정은 다음과 같은 단계를 포함합니다:

  • 앱 실행: 먼저 시뮬레이터에서 Hotwire Native 앱을 실행합니다.

  • Safari 개발자 모드 활성화: Safari 앱을 열고 환경설정(Preferences) > 고급(Advanced) > 개발자용 기능 보기(Show features for web developers)를 클릭하여 개발 모드를 활성화합니다. 이는 CMD + , 단축키를 통해서도 접근할 수 있습니다.

  • 웹 인스펙터 연결: 이제 Safari > 개발(Develop) > Simulator 메뉴를 통해 실행 중인 앱의 웹 인스펙터를 열 수 있습니다.

주의사항: 구형 Hotwire Native 버전을 사용하는 경우, 웹뷰가 검사 가능하도록 설정해야 할 수 있습니다. 이는 AppDelegate 내의 Hotwire.config 객체에서 다음과 같이 설정할 수 있습니다. swift Hotwire.config.makeCustomWebView = { config in let webView = WKWebView(frame: .zero, configuration: config) webView.allowsLinkPreview = false webView.isInspectable = true return webView }

Android WebView 디버깅

Android 앱의 웹 인스펙터 연결은 iOS보다 훨씬 간편합니다:

  • 앱 실행: Hotwire Native Android 앱이 실행 중인 상태에서.

  • Chromium 기반 브라우저 접속: Chromium 기반 브라우저(예: Chrome)를 열고 chrome://inspect/#devices 주소로 이동합니다. 실행 중인 앱의 웹뷰가 자동으로 감지되어 디버깅할 수 있는 옵션이 제공됩니다.

WebView 디버거의 이점

웹 인스펙터에 접근할 수 있게 되면 다음과 같은 다양한 이점을 얻을 수 있습니다:

  • CSS 스타일 테스트: 네이티브 환경에만 적용되는 CSS 스타일을 직접 테스트하고 수정할 수 있습니다.

  • Bridge 컴포넌트 디버깅: 네이티브와 웹뷰 간의 통신을 담당하는 Bridge 컴포넌트의 동작을 상세히 디버깅할 수 있습니다.

  • 코드 디버깅: 웹뷰 내에서 실행되는 JavaScript 코드 자체를 디버깅하고, 중단점(breakpoint)을 설정하며, 변수 값을 확인하는 등 웹 개발자가 익숙한 모든 디버깅 기능을 활용할 수 있습니다.

결론

Hotwire Native 애플리케이션에서 WebView 디버깅은 네이티브 앱의 복잡한 문제를 웹 개발의 익숙한 도구로 해결할 수 있게 해주는 핵심적인 기술입니다. iOS와 Android 각 플랫폼의 특성에 맞는 웹 인스펙터 연결 방법을 숙지함으로써, 개발자는 네이티브 환경에만 국한되지 않고 웹뷰 내부에서 발생하는 CSS 스타일, Bridge 컴포넌트, 그리고 JavaScript 코드 관련 문제들을 효과적으로 진단하고 해결할 수 있습니다. 이러한 디버깅 역량은 개발 과정을 한층 더 유연하고 강력하게 만들어, Hotwire Native 앱 개발의 효율성과 품질을 크게 향상시킬 것입니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!