# iOS용 Proxyman Map Local 튜토리얼

> iPhone에서 Proxyman for iOS Map Local로 HTTP/HTTPS 응답을 모킹(Mock)하고 상태 코드, 헤더, 본문을 변경하는 단계별 튜토리얼입니다.

## Proxyman Map Local로 iPhone에서 HTTP(s) 응답 조작하기 {#manipulate-https-responses-on-iphone-with-proxyman-map-local}

Proxyman for iOS 2.0.0 버전부터 Map Local 도구를 사용할 수 있습니다. Map Local을 사용하면 규칙과 일치하는 요청의 응답으로 로컬 파일의 내용을 사용할 수 있습니다.

Map Local은 개발 속도를 높이는 데 도움이 됩니다. 서버의 데이터를 변경하지 않고도 엣지 케이스를 빠르게 테스트할 수 있습니다. 또한 여러 응답에 따른 앱의 동작을 테스트하려는 QA 담당자와 개발자에게 꼭 필요한 도구입니다. 테스트 시나리오의 예는 다음과 같습니다.

* 응답을 정의하고 이를 일치하는 요청에 사용합니다.
* 응답의 새 파라미터를 빠르게 시험해 봅니다.
* 응답에 다른 파라미터를 넣어 앱의 동작을 테스트합니다.
* 특이한 콘텐츠로 UI 레이아웃을 테스트합니다.
* 응답의 특정 파라미터로 버그를 빠르게 재현합니다.
* 로컬 파일로 API를 모킹합니다. 아직 운영 환경에 배포되지 않은 API를 미리 테스트하고 싶을 때 유용합니다.

## 사전 준비 사항 {#prerequisites}

* App Store에서 최신 버전의 Proxyman을 다운로드합니다: [https://apps.apple.com/us/app/proxyman/id1551292695](https://apps.apple.com/us/app/proxyman/id1551292695)
* iOS 기기에 Proxyman 인증서를 설치하고 신뢰하세요. Proxyman을 처음 사용한다면 [iPhone에서 HTTPS 트래픽 캡처 및 검사하기](https://proxyman.com/posts/2021-10-17-Getting-Started-With-Proxyman-For-iOS)를 따라 iPhone에서 HTTP 트래픽 캡처를 시작하세요.

## Map Local 규칙 만들기 {#create-map-local-rules}

Map Local 규칙을 만드는 방법은 두 가지가 있습니다.

1. **More** 탭에서

* **More** 탭 → **Map Local** → **+** 버튼을 탭합니다.
* 규칙의 필드(Name, URL, Method, 하위 경로 포함 여부)를 입력합니다.

2. 컨텍스트 메뉴에서

* 요청을 길게 누른 다음 **Add to Map Local**을 선택합니다.
* Proxyman이 선택한 요청으로 규칙의 모든 필드를 자동으로 채웁니다.

![Add to Map Local이 있는 Proxyman for iOS 컨텍스트 메뉴. 요청으로 채워진 Map Local 편집기가 열립니다](https://proxyman.com/docs/assets/image%20(14).png)

_요청으로 Map Local 규칙 만들기_

### 헤더, 상태 코드, 본문 수정하기 {#modify-header-status-code-and-body}

Map Local 편집기에서 헤더, 상태 코드, 본문을 변경할 수 있습니다. 본문을 다른 데이터 타입으로 바꾸면 Proxyman이 Content-Type을 감지하고 헤더를 자동으로 업데이트합니다.

## Map Local 도구로 응답 조작하기 {#manipulate-response-with-map-local-tool}

![상태 201 Created가 설정된 Proxyman for iOS Map Local 편집기와 활성화된 Map Local 규칙 목록](https://proxyman.com/docs/assets/image%20(12).png)

_Map Local과 규칙 활성화하기_

모든 설정이 끝났습니다. 요청을 다시 보내 동작을 확인해 보세요.

들어오는 요청의 URL이 **미리 정의된 일치 규칙**과 일치하고 로컬 파일이 유효하면, Proxyman은 해당 요청의 응답 본문을 로컬 파일의 내용으로 바꿉니다.

요청이 어떤 규칙과도 일치하지 않으면 서버의 응답은 그대로 유지됩니다.

![플로우 목록, Map Local로 실행된 요청 상세 정보, 로컬 파일로 교체된 응답 본문이 보이는 Proxyman for iOS 화면](https://proxyman.com/docs/assets/image%20(13).png)

_Map Local로 수정된 응답_

잘하셨습니다! 플로우 목록에서 작은 파란색 아이콘은 이 플로우가 수정되었음을 나타냅니다. 응답 콘텐츠가 로컬 파일로 교체되었습니다.

## 다음 단계 {#whats-next}

Map Local 도구로 다양한 응답을 시험해 기기에서 레이아웃이나 콘텐츠를 테스트할 수 있습니다. 다만 응답만 수정할 수 있습니다. 요청도 수정하려면 [iOS용 Proxyman Breakpoint 튜토리얼](https://proxyman.com/docs/ko/proxyman-ios/tutorial-for-ios/breakpoint-for-ios-tutorial)을 확인해 보세요. Breakpoint를 사용하면 앱의 로직을 변경하지 않고도 요청과 응답을 실시간으로 함께 변경할 수 있습니다.
