iOS앱의 경우 배포 뿐만 아니라 개발 과정에서도 복잡한 인증이 필요하다.
Xcode에다가 이 앱을 개발한다는 개발자 프로그램 인증서와 Profile을 등록해야 되고, Appstore Connect에 앱을 업로드할 때도 이러한 인증 과정이 필요하다.
Fastlane을 사용하더라도 이 인증 과정은 진행해야 하는데, 크게 두 가지 방법이 있다고 한다.
1. Cert,Sigh를 이용하는 방법
2. Match를 이용하는 방법
Cert,Sigh는 유저가 특별히 따로 설정해줄 필요는 없고, 애플 계정을 제대로 입력해뒀고, 인증서를 로컬 Keychain에 넣어줬다면 알아서 인증을 진행해주는 방식이다.
심지어 로컬에 인증서가 따로 없더라도 Cert,Sigh가 알아서 인증서와 프로필을 다운받아 진행해준다고 한다.
Match의 경우 대규모 팀일 때 사용하는 인증 방식이다. 하나의 인증서를 저장소에 넣어두고, 팀원들이 해당 저장소에 접근해서 인증서를 가져와 사용하는 방식이다.
Cert,Sigh는 각자 인증서를 로컬에 저장하고 있어서 인증서가 만료되는 시점도 제각각이라 나중에 조금 귀찮다는 단점이 있다.
Match는 중앙에 있는 인증서만 한번 갈아주면 되므로 갱신 문제, 계정 문제를 고민할 필요가 없다.
Match 적용하기
새롭게 진행한 프로젝트는 iOS 개발자가 3명 뿐이라 사실 굳이 Match를 사용하지 않아도 될 것 같긴 하지만 기왕 하는 김에 제대로 된 걸로 해보자라는 마음으로 적용해보기로 했다.
Match 설정
1. remote repository 만들기
인증 관련 파일들을 담을 원격 저장소를 private으로 생성한다. (본인은 Github에 함)
2. match 초기화
진행 중인 프로젝트의 디렉토리로 이동한 후에 다음과 같이 match 초기화를 위한 명령어를 실행한다.
fastlane match init
그러면 다음과 같은 화면이 나오게 될텐데, 나는 github을 이용했으므로 1번을 선택했다.
[✔] 🚀
[12:21:30]: fastlane match supports multiple storage modes, please select the one you want to use:
1. git
2. google_cloud
3. s3
? 1
이후, 1번에서 생성한 github url을 입력해주면 fastlane 폴더 안에 Matchfile이 생성되게 된다.
그리고 Matchfile에서 type, app_identifier, username을 프로젝트에 맞게 변경해주면 된다.
참고:
'iOS 개발' 카테고리의 다른 글
[iOS 개발] TDD 정의 및 장단점 (3) | 2023.09.30 |
---|---|
[Git] commit template 만들기 (0) | 2023.09.26 |
[iOS 개발] Fastlane 적용해보기 (0) | 2023.09.05 |
[iOS 개발] NotificationCenter란? (0) | 2023.07.26 |
DiffableDataSource 정의 (0) | 2023.05.19 |