빌드할 때 프로비저닝 오류가 발생했다. 문득 xcode로 ios앱을 빌드할 때는 프로비저닝 오류가 자주 난다는 번거로움에 대해 들었던 게 생각났다.
마침 fastlane 적용 작업 중에 있었기 때문에 fastlane의 match액션으로 코드 사이닝 설정을 단순화하고 문제를 방지하면 좋을 것 같다.
fastlane이 이미 설정되어있다는 가정 하에 match를 적용하는 내용을 포스팅했습니다
아래와 같이 하면 귀찮고, 인증서 만료 및 관리 문제가 있다.
- 인증서와 프로비저닝 프로파일을 암호화해 프로젝트 디렉토리에 포함시킨다.
- 가상환경에서 복호화한다.
- 수동으로 Xcode에 프로파일을 설치하고 구성한다.
개발 팀 전체에서 하나의 코드사이닝 용 애플계정을 공유하여 코드 사이닝 설정을 단순화하고 문제를 방지하는 것이다. 팀의 공동 애플계정을 이용해 인증서와 프로파일 코드사이닝 용 레포에 자동으로 암호화하여 생성하고 관리해준다.
깃 레포지토리에 private으로 저장소를 만들어준다.
fastlane match init 명령어를 입력하면 아래처럼 나온다. 원격 저장소에 certificate와 provisioning file을 넣을 거니까 1번을 선택한다.
방금 만든 깃허브 레포지토리 url을 넣어주면 이후에 생성하는 파일이 저절로 담겨있을 것이다.
fastlane 폴더를 확인하면 Matchfile이 생성되어 있을 것이다.
여기서 type(), app_identifier(), username()을 프로젝트에 맞게 수정한다.
app_identifer()와 username()은 fastlane 폴더의 Appfile 폴더 상단을 보면 쉽게 확인할 수 있다. 디폴트 type()을 적어주는 것일 뿐이니까 일단은 development로 적으면 된다.
나중에 match액션을 쓸 때 type을 적을 수 있다. 그때는appstore,development,adhoc,enterprise 중 상황에 맞게 사용하면 된다.
fastlane match appstore명령어를 실행한다.
중간에 이렇게 passphrase를 생성하는데 꼭 어디 적어놓고 기억해야 한다.
Fastfile의 TestFlight로 빌드하는 lane에 적용해보았다.
이제 앱이 build가 된다...
근데 testflight는 authorization 문제로 업로드 실패했다.야익스 글쓸거리 또 늘었네
https://docs.fastlane.tools/actions/match/
https://velog.io/@parkgyurim/iOS-fastlane-match