SWIFT 4

[iOS / Swift] 테스트앱에서 deferred deep link 테스트하기 (Adjust)

최근에 Adjust tracking sdk를 설치하고 딥링크 기능을 추가했다. 안드로이드의 경우 앱 설치 및 미설치 유저들의 deeplink가 정상 작동했지만 iOS의 경우 앱 미설치 유저의 설치 후 액션이 작동하지 않았다. 원인을 찾기 위해 디버깅을 해야 하는데 앱 설치 후 액션을 어떻게 디버깅해야 하는지 또 코드를 수정하면서 수정된 버전의 에서 딥링크가 작동하는지를 어떻게 테스트해야 하는지 감이 잘 오지 않았다. Adjust 공식 문서에서 확인해보니 iOS에서 디퍼드 딥링크를 처리하기 위해 코드 추가가 필요했다. Adjust Help Center Adjust Help Center help.adjust.com 코드 수정 AppDelegate 에서 adjust 콜백을 추가하고 deeplink action..

iOS 2023.02.14

[iOS / Swift] Fastlane으로 테스트 앱 자동 배포(CD) 구축하기 (2)

지난번 포스팅 때 Firebase App Distribution 세팅 및 이용 방법에 대해 얘기했었다. [iOS / Swift] Fastlane으로 테스트 앱 자동 배포(CD) 구축하기 (1) 회사에 처음 입사하고 가장 먼저 한 일이 자동 배포 구축이었다. 왜 이 작업을 가장 먼저 했는 지는 아래에서 설명하고자 한다. 기존의 프로세스 기존의 앱 서비스 개발 방식은 아래와 같았다. 1. kwtjdtn.tistory.com 오늘은 Fastlane을 통해 수정된 앱을 App Distribution에 올리는 법에 대해 글을 적고자 한다. Fastlane 설치 brew install fastlane sudo get minstall fastlane Fastlane Setting 프로젝트 디렉토리로 이동해 fastl..

iOS 2023.02.13

[iOS / Swift] Fastlane으로 테스트 앱 자동 배포(CD) 구축하기 (1)

회사에 처음 입사하고 가장 먼저 한 일이 자동 배포 구축이었다. 왜 이 작업을 가장 먼저 했는 지는 아래에서 설명하고자 한다. 기존의 프로세스 기존의 앱 서비스 개발 방식은 아래와 같았다. 1. 서비스 기획 2. 디자인 개발 3. 앱 개발 및 테스트 앱 배포 4. QA 진행 - 실패시 다시 3번 작업 진행 5. 스토어 업로드 이 중 가장 오랜시간에 소요되는 구간이 바로 3. 앱 개발 및 테스트 앱 배포이다. 매번 개발자가 직접 테스트 앱을 빌드 후 TestFlight 혹은 apk 파일 전달 등의 방식으로 QA를 진행해 왔다고 한다. 개발자와 QA팀 사이에도 헷갈리고 환경 설정에 어려움이 많았다고 하여 자동화 배포를 구축하고자 했다. Firebase App Distribution (테스트 앱 서비스) 먼저..

iOS 2023.02.10

[iOS / Swift] Firebase Remote Config로 강제/선택 업데이트 팝업 관리하기

최근에 네이티브 코드와 웹뷰가 통신 하는 새로운 기능이 개발되었는데 앱을 업데이트 해야만 사용이 가능하여 웹뷰에서 버전을 체크하는 코드를 추가해야 했다. 앱의 구조가 웹뷰이기 때문에 네이티브 기능의 업데이트가 많은 편은 아니지만 대부분 주요 기능을 개발해서 유저들이 업데이트를 해야하는 경우가 대부분이었다. 매번 버전 체크를 하기에는 너무 번거롭고 하드 코딩이라 강제 업데이트에 대해 생각하게 되었다. 처음 생각했던 방식 앱스토어의 최신 버전과 현재 사용중인 버전을 비교하여 최신 버전이 아닐 경우 업데이트 팝업 노출 1. 앱 처음 켜질 때 업데이트 팝업 노출 2. willEnterForegroundNotification observer를 추가해 업데이트 하지 않은 유저들에게 다시 업데이트 팝업 노출 이 방식..

iOS 2023.02.03