본문 영역

Develop/ETC2018. 1. 28. 21:07

React Native나 Cordova 등의 하이브리드 기반의 모바일앱을 개발하는 경우, 네이티브 개발에 비해 여러가지 많은 이점들을 누리는 것이 사실이다. 반면, 개발이 완료되고 배포단계에 이르러서는 그동안 편하게 개발했던 하이브리드 환경이 아닌 각 모바일 플랫폼의 네이티브 개발 환경인 Android Studio나 Xcode등을 통해 배포를 진행해야만 하는데, 특히 배포 전후의 디버깅 환경에 대해서는 필수적으로 익숙해져야만 한다. 사실상 제대로된 하이브리드 모바일 앱 개발이 쉽지만은 않은 이유 중 하나이며, 네이티브 개발의 기본 메커니즘과 환경에 대한 지식이 있어야 비로소 제대로된 하이브리드 개발이 가능하다고 할 수 있다.

여기서는, iOS 모바일 앱 개발에서 필수인 Xcode의 배포 단계에서 유용한 두 가지 디버깅 관련 기능에 대해 소개하고자 한다.

1. Scheme 설정

Xcode의 디버깅 환경에서는 오류 없이 실행이 잘 되다가 앱스토어나 Test Flight에 업로드 한 경우 예상치 못한 런타임 오류나 ANR(App Not Responding)이 발생하는 경우가 있다. 이럴 때 Xcode에서 Scheme 설정을 통해 디버깅 환경에서도 배포(Release) 환경과 동일하게 앱을 실행할 수 있는 방법이 있어 소개하려고 한다. 

Xcode에서는 기본적으로 아래와 같이 5개의 Scheme을 가지고 있다.

일반적으로 많이 사용하는 Run의 경우 Xcode에서 실행 버튼을 클릭하여 시뮬레이터나 아이폰에서 애플리케이션을 실행할때 사용되는 Scheme이고, Archive는 앱스토어에 배포할때 사용되는 Scheme이다. 위 스크린샷을 통해, 개발 도중 흔히 사용하는 Run Scheme의 경우 Debug, 앱스토어 배포시 사용하는 Archive의 경우 Release로 기본값이 선택되어 있음을 알 수 있다. 

아래와 같은 설정 변경을 통해 Run Scheme을 Debug에서 Release로 변경할 수 있다. 먼저 Xcode 메뉴에서 Product > Scheme > Edit Scheme 을 선택한다.


앞서 설명한 5개의 Scheme중 Run을 선택하고 Build Configuration의 값을 아래와 같이 Debug에서 Release로 변경한다.

이제 Xcode의 실행 버튼을 누르게되면, Debug 모드로 빌드가 되는 것이 아니라, Archive에 사용하는 Release 모드로 빌드가 된다.

자, 이렇해서 간단하게 Scheme 설정을 변경하는 방법에 대해 알아 보았다. 개발 환경에서는 문제 없었으나 Production 환경에서 문제가 생길 때 개발 환경을 Production 환경과 동일하게 설정하는 방법이 필요한 경우 유용하게 사용하길 바란다.


2. Crash Report

다음으로 소개할 기능은 앱 스토어나 Test Flight에 배포 이후 사용자의 실제 단말기에서 발생하는 앱의 Crash 리포트를 확인하는 방법에 대해 살펴보자. Xcode의 > Window > Organizer를 선택하여 Organizer창이 실행되도록 하자.



Organizer 화면에서 상단의 Crashes를 선택하면 배포 이후 발생한 Crash 리포트에 대해 조회가 가능하다. 현재 예제 앱의 경우 최신 빌드(18012803)에서는 Crash가 리포트되지 않았음을 알 수 있다. 

아래 화면과 같이 빌드 버전을 영역을 클릭해보면 이제까지 Archive된 빌드 목록을 볼 수 있다. 예제 앱의 경우 1.2.9 버전에서 Crash가 발생하였었으므로, Crash 리포트에서 Build 18012802를 선택하여 상세 내용을 보도록 하자.



실제로 Crash가 생긴 경우, 아래와 같이 Crash의 종류와 간단한 통계 정보를 볼 수 있다. 화면의 왼쪽은 Crash의 종류를 볼 수 있고 화면의 오른쪽 영역은 Crash의 발생 빈도, 리포드된 단말기의 OS버전, 발생 일자, 앱의 빌드 버전 정보 등을 확인할 수 있다.



작성자

account_circle
grooveslap

댓글 영역