목록 보기
iOS에서 이벤트 기반 URL 요청이 잘 전송되는지 확인하기 (feat. 광고 트래킹.. 제대로 가고 있나요?)
프론트엔드

iOS에서 이벤트 기반 URL 요청이 잘 전송되는지 확인하기 (feat. 광고 트래킹.. 제대로 가고 있나요?)

지마켓
지마켓
2025년 1월 6일

두줄요약

iOS에서 광고 트래킹 URL 요청이 실제로 전송됐는지 검증하는 방법을 정리했습니다. URLProtocol과 공유 파일 저장소, UI Test 환경 변수를 활용해 요청 가로채기와 데이터 주입을 구현했습니다.

문제 상황

  • iOS에서 광고 트래킹용 이벤트가 실제 URL 요청까지 정상 전송되는지 배포 전 검증 필요
  • 기존 Fake 객체 방식으로는 함수 호출 여부만 확인되어 실제 네트워크 요청 검증 불가
  • UI Test는 별도 프로세스로 실행되어 App의 메모리 저장소 공유 불가

해결 방법

  • URLProtocol 서브클래스로 요청을 가로채는 CustomURLProtocol 구현
  • startLoading()에서 요청 URL을 공유 파일 저장소에 기록하고 임의 응답 반환
  • SIMULATOR_SHARED_RESOURCES_DIRECTORY 기반 파일 저장소를 App과 UI Test가 함께 사용
  • XCUIApplication.launchEnvironment로 테스트별 가짜 JSON 데이터를 주입

적용해볼 점

  • 트래킹 검증은 호출 여부가 아니라 실제 요청 결과를 기준으로 확인
  • UI Test와 공유 가능한 저장소 설계로 App/테스트 간 상태 분리 문제 완화
  • 테스트 데이터는 환경 변수로 주입해 시나리오별 분기 관리

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...