모바일 장치에서 디버깅

이 항목에서는 모바일 장치에서 자바 스크립트 디버깅에 대해 배우게됩니다. 개발 중 테스트 및 모바일 플랫폼에서 콘텐츠를 디버깅하는 것은 매우 어려울 수 있습니다.

개요

이 문서에서는 모바일 장치에서 디버깅을 시작하는 방법을 배우고 다음과 같은 솔루션을 다룹니다.

  • iOS 디바이스에서 디버깅
  • 안드로이드 디바이스에서 디버깅
  • 모바일 장치에서 찰스 사용

iOS로 디버깅

iOS 디버깅을위한 최소 요구 사항

  • Mac MacOS에서 실행되는 사파리 버전 6 이상
  • 아이폰 또는 아이패드 (아이폰 OS 6 이상)

사파리 원격 디버깅 사용

애플의 iOS 6 업데이트는 iOS 기기의 사파리 응용 프로그램에서 웹 페이지를 디버깅 할 수있는 사파리 원격 디버깅을 도입했다. 시작하려면 아래 단계를 따르십시오.

  1. USB 케이블을 통해 iOS 기기를 기기에 연결합니다.
  2. 기기에서설정앱을 엽니다. Safari를선택하고 페이지 하단으로 스크롤한 다음고급메뉴를 엽니다. [ 웹 관리자]옵션을 활성화합니다.
    웹 검사기
    웹 검사기
  3. 기기에서Safari앱을 열고 웹 페이지를 탐색합니다.
  4. Mac에서는Safari를실행하고환경설정 ( Safari > 환경설정 ) 을 연 다음고급섹션으로 이동합니다. 메뉴모음에서 [현상 표시] 메뉴옵션을 활성화합니다.
    개발 메뉴 표시
    개발 메뉴 표시
  5. 개발메뉴를 엽니다. iOS 기기가 나열되어 있습니다. 장치 이름 위에 마우스를 놓으면 장치에서 탐색한 사이트의 URL이 표시됩니다.
    장치 찾기
    장치 찾기
  6. URL을 선택하면Web Inspector창이 열리므로 데스크톱에서 모바일 브라우저의 콘텐츠를 미리 보고 검사하고 디버그할 수 있습니다.
    데스크톱에서 디버그
    데스크톱에서 디버그
  7. 리소스섹션에서 웹 페이지를 미리 보고 검사할 수 있습니다. Web Inspector의요소 위에 마우스를 놓으면 iOS 기기의 브라우저에서 해당 요소가 강조 표시됩니다.
    요소 검사
    요소 검사
  8. 디버거콘솔섹션을 사용하여 중단 점을 설정하고 데이터를 로깅하여 페이지를 추가로 디버깅 할 수도 있습니다.

Android로 디버깅

안드로이드 디버깅을위한 최소 요구 사항

  • 크롬 32 이상 맥 또는 윈도우에서 실행
  • 안드로이드 32 이상 용 크롬과 안드로이드 장치

참고: 이 섹션의 단계는 Android 11을 실행하는 기기를 사용하여 작성되었습니다.

디바이스에서 디버깅 활성화

디바이스에서 콘텐츠 디버깅을 시작하려면 먼저 디바이스 설정에서 USB 디버깅을 활성화해야 합니다.

  1. Android 4.2 이상을 실행 중인 경우 USB 디버깅을 켜려면 먼저 장치의개발자 옵션을활성화해야 합니다. 기기에서설정앱을 열고휴대폰 정보메뉴를 선택합니다. 기기의빌드 번호를찾아 7번 탭합니다.
  2. 기기 비밀번호를 입력하세요. 이제 당신은 개발자입니다! 라는 메시지가 표시되어야 합니다. .
  3. Android 11에서 개발자 옵션에 액세스하려면 설정 으로 돌아가서 시스템을 선택하세요.
  4. 고급을 확장하고 개발자 옵션을 누릅니다.
    개발자 옵션
    개발자 옵션
  5. USB 디버깅 까지 아래로 스크롤하고 토글을 켭니다.
    USB 디버깅 사용
    USB 디버깅 사용
  6. 자세한 내용은 Android의 온디바이스 개발자 옵션 구성 문서를 참조하세요.

안드로이드용 크롬을 사용하여 원격 디버깅

이제 기기에서 USB 디버깅이 활성화되었으므로 다음 단계에 따라 Chrome에서 원격 디버깅을 시작하십시오.

  1. 컴퓨터에서Chrome을실행하고 을 (를) 찾습니다chrome://inspect#devices .
  2. USB 장치 검색 확인란을 선택합니다.
    USB 장치 검색
    USB 장치 검색
  3. USB 케이블을 사용하여 기기를 기기에 연결합니다. 장치에서 USB 디버깅을 허용할지 묻는 대화 상자가 표시됩니다. 허용을 선택하여 컴퓨터가 장치에 연결되도록 합니다.
    장치 연결 허용
    장치 연결 허용
  4. 기기에서Chrome앱을 열고 웹 페이지를 탐색합니다.
  5. 컴퓨터에서Chrome으로돌아갑니다. chrome://inspect#devices페이지에 연결된 장치가 표시됩니다. 기기 이름 아래에 기기의 Chrome에 열려 있는 모든 페이지 목록이 표시됩니다.
    연결된 장치
    연결된 장치
  6. 웹 페이지 디버깅을 시작하려면 페이지 URL 아래의검사링크를 선택합니다. 그러면 Chrome의개발자 도구가열립니다.
    웹 페이지 검사
    웹 페이지 검사
  7. 요소탭의 왼쪽에서 장치 아이콘을 선택하여 DevTool의 스크린캐스트 기능을 열 수 있습니다. 이렇게 하면 모바일 장치에 표시되는 콘텐츠의 실시간 미리 보기를 열 수 있습니다. 스크린캐스팅을 사용하여 기기와 상호 작용하는 방법에 대한 자세한 내용은Google 설명서를 참조하십시오 .

Charles 프록시 설정

Charles는 자신의 컴퓨터에서 실행할 수있는 웹 프록시로서 웹 브라우저를 통해 주고받는 데이터를 기록 할 수 있습니다. 이 응용 프로그램에 대한 자세한 내용은Charles 웹 사이트를방문하십시오.

찰스에 대한 최소 요구 사항

  • 찰스는 윈도우, 맥과 리눅스와 호환됩니다
  • iOS 및/또는 안드로이드 기기

컴퓨터에서 Charles를 실행하려면 아래 단계를 따르십시오.

  1. 컴퓨터에 Charles를다운로드하여설치하십시오.
  2. 컴퓨터에서찰스를실행합니다. 메뉴에서프록시 > 프록시 설정을선택합니다. 포트가 할당되었는지 확인합니다(예: 8888).
    프록시 설정
    프록시 설정
  3. 확인을선택하여 변경 사항을 저장하고 대화상자를 닫습니다.
  4. 메뉴에서프록시 > SSL 프록시 설정을선택합니다. SSL 프록싱 사용옵션이 선택되어 있는지 확인합니다.
    SSL 프록시 설정
    SSL 프록시 설정
  5. 위치섹션에서추가단추를 선택합니다. 위치 편집대화상자에서포트필드로 이동하여443을입력합니다. 확인을선택하여 이 변경 사항을 저장합니다.
    위치 포트 443
    위치 포트 443
  6. 확인을선택하여위치 편집대화상자를 닫습니다.
    위치가 포함된 SSL 설정
    위치가 포함된 SSL 설정
  7. [ 확인 ] 을 선택하여 [ SSL 프록시 설정 ] 대화 상자를 종료합니다.
  8. 모바일 장치 또는 원격 브라우저에서 > SSL 프록시 > 설치 Charles 루트 인증서 도움말으로 이동합니다.
    루트 인증서 설치
    루트 인증서 설치
  9. 장치를 설정하는 데 사용할 로컬 서버 IP 및 포트 번호 (8888) 를 식별하는 메시지가 표시됩니다. 인증서를 다운로드하고 설치할 URL도 표시되어야 합니다. 나중에 사용할 수 있도록 컴퓨터에 복사하십시오.
    인증서 메시지
    인증서 메시지

iOS 기기에서 Charles 사용

이 섹션에서는 컴퓨터에서 Charles와 함께 작동하도록 iOS 기기를 설정하는 방법을 배웁니다.

  1. 장치에서 컴퓨터와 동일한 네트워크에 연결되어 있는지 확인합니다. >Wifi 설정으로이동하고 네트워크 이름을 선택하여 고급 옵션을 표시하여이를 확인할 수 있습니다.
    디바이스 네트워크
    디바이스 네트워크
  2. 하단의 HTTP 섹션에서수동모드를 선택합니다. 그런 다음 이전 단계에서 찰스에서 복사한 서버 IP 및 포트 번호 (8888) 를 추가합니다.
    와이파이 상세 정보
    와이파이 상세 정보
  3. 장치에서 브라우저를 열고 https://www.charlesproxy.com/getssl 로 이동합니다. 장치 설정으로 리디렉션되며 여기서Charles Proxy 사용자 정의 루트 인증서프로필을 설치하라는 메시지가 표시됩니다. 설치단추를 선택하여 장치에 Charles 인증서를 설치합니다.
    찰스 인증서 설치
    찰스 인증서 설치
  4. 단계에 따라 Charles 인증서를 설치합니다. 완료되면 완료를 선택합니다.
    찰스 프로필 설치
    찰스 프로필 설치
  5. 그런 다음 장치가 Charles 인증서를 신뢰하는지 확인할 준비가 되었습니다. 장치에서> 인증서 신뢰 설정 일반 > 정보로이동합니다. 여기에서 찰스 프록시 인증서를 찾아야합니다.
    인증서 신뢰 설정
    인증서 신뢰 설정
  6. 찰스 인증서를 사용하도록 설정합니다. 경고 메시지를 확인합니다. Charles로 디버깅하지 않을 때이 인증서를 비활성화 할 수 있습니다.
    신뢰 인증서 사용
    신뢰 인증서 사용
  7. 이제 찰스에서 주고받은 모든 데이터를 볼 수 있습니다.
    찰스 데이터 보기
    찰스 데이터 보기

Android 11에서 Charles 사용

이 섹션에서는 컴퓨터에서 Charles와 함께 작동하도록 Android 기기를 설정하는 방법을 배웁니다.

  1. 기기에서 설정 으로 이동합니다. > 회로망 & 인터넷 .
  2. Wi-Fi 를 탭합니다. 장치에 연결된 네트워크 목록이 표시됩니다.
  3. 현재 연결되어 있는 무선 네트워크를 선택합니다. 이 네트워크는 컴퓨터에 연결된 네트워크와 일치해야 합니다.
  4. 연필 아이콘을 탭하여 인터넷 설정을 편집합니다.
  5. 프록시를 수동 으로 설정합니다.
  6. Charles의 값을 붙여넣으십시오. 프록시 호스트 이름 , 클립보드에 복사했어야 합니다. 위 단계 . 프록시 포트의경우 를 입력합니다8888 .
    프록시 호스트/포트 값
    프록시 호스트/포트 값
  7. 저장 을 탭합니다.
  8. 장치에서 브라우저를 열고 https://www.charlesproxy.com/getssl/ 로 이동합니다. 이렇게 하면 Charles SSL 인증서가 장치에 자동으로 다운로드됩니다.
  9. Android 11에 인증서를 설치하려면 다음 단계를 따르세요.
    1. 설정 을 엽니다.
    2. 보안 으로 이동 > 암호화 & 신임장 > 인증서를 설치합니다 .
    3. CA 인증서를 선택합니다.
    4. 경고가 표시됩니다. 그래도 설치를 선택합니다.
      무시하고 설치
      무시하고 설치
    5. Charles 프록시 SSL 인증서를 선택합니다.
    6. 인증서 설치를 확인합니다.
  10. 디바이스의 기본 브라우저에서 웹 사이트로 이동합니다. 당신은 Charles에서 주고받은 모든 데이터를 볼 수 있습니다. 구조 목록을 필터링하는 데 도움이 될 수 있습니다(이 경우 brightcove 에 대한 필터).
    데이터 전송 을 참고하십시오.
    데이터 전송 을 참고하십시오.
  11. 로컬 시스템이 아닌 Android 장치의 트래픽만 표시되도록 네트워크 트래픽을 필터링하려면:
    1. Charles 상단 메뉴에서 Proxy 를 선택합니다.
    2. macOS 프록시 (또는 Windows 프록시 )를 선택 취소합니다.
  12. 선택 사항 : 기기에서 인증서를 지우려면(Android 11 실행):
    1. 기기에서 설정을 엽니다.
    2. 보안 으로 이동 > 암호화 & 자격 증명 .
    3. 자격 증명 지우기를 탭합니다.
    4. 확인 탭하여 확인합니다.

Android 7에서 Charles 사용

Android 7(SDK v24)부터는 이 SDK 버전에 새로운 보안 기능이 도입되었기 때문에 더 이상 SSL 네트워크를 직접 볼 수 없습니다. Charles를 통해 네트워크 트래픽을 보려면 SSL 가로채기를 허용하도록 Android 애플리케이션에 명시적으로 지시해야 합니다.

  1. 애플리케이션에서 AndroidManifest.xml 파일을 엽니다.

    안드로이드 매니페스트 파일
  2. application섹션에서networkSecurityConfig옵션을 추가합니다.

    네트워크 보안 옵션
  3. xml 리소스 폴더에서 다음과 같이network_security_config.xml파일을 추가합니다.

    네트워크 보안 xml 파일
  4. 그게 다야 이제 Charles를 통해 들어오는 모든 네트워크 트래픽이 표시되어야 합니다.

리소스

자세한 내용은 다음을 참조하십시오.