[Xcode] 앱 종료 상태에서 푸시 Push 테스트 하기

반응형

LaunchOptions 디버깅

 

아이폰은 안드로이드와 달리 Xcode에서 디버깅을 할 때 일반적으로 앱이 종료된 상태에서 디버깅을 할 수가 없습니다. 즉 최초 실행 시 앱이 빌드된 상태에서 Console 로그도 볼 수 없으니 푸시 노티피케이션 같은 서비스를 최초 실행 할 때 테스트가 힘들 수 있습니다. 그래서 Xcode에서 간단한 스키마 설정으로 디버깅 타임을 미룰 수 있고 푸시나 기타 LaunchOptions 값을 제어해할 경우에 쉽게 디버깅을 할 수 있습니다.

 

우선 프로젝트에서 Edit Scheme... 메뉴를 선택합니다.

Xcode Edit Scheme...


 

 

 

 다음으로 Run 스키마에 Launch 옵션을 Wait for the executable to be lauched 옵션으로 변경합니다. 이 옵션을 사용하게 되면 앱을 실행하는 동시에 바로 실행되지 않고 개발자가 직접 앱을 열어서 실행하며 이 때 부터 디버깅이 동작합니다. 때문에 앱 최초 실행 시 푸시가 온 상태를 시뮬레이션할 수 있고 위젯이나 기타 동적 딥링크에도 디버깅을 쉽게 할 수 있습니다.

Wait for the executable to be lauched


 

 

 

만약 다음과 같이 AppDelegate의 didFinishLaunchingWithOptions 에 코드를 작성하면 해당 launchOptions의 값을 알아낼 수 있습니다. Push, Widget 은 각각 다른 키값으로 정보를 가져오며 결괏값 또한 각각 딕셔너리, URL로 서로 다른 값을 가집니다. 이 값은 앱이 실행할 때 발생하므로 평범한 디버깅으로는 확인하기 어렵습니다. 위의 옵션값을 변경하고 시도해야 브레이크 포인트가 걸리는 것을 알 수 있습니다.

반응형

댓글

Designed by JB FACTORY