AppStore 심사 통과 후 작업 자동화
심사가 다닌 후에는 기뻐하는 것만으로 다음 릴리스와 마주보고 싶다.
AppStore에 공개된 뒤의 작업은 잊기 쉽기 때문에 매번 번거롭지요.
이번에는 다음 작업을 Bitrise와 GAS를 사용하여 자동화했습니다.
공개된 것을 감지(GAS)
App Store Review의 상태 변경은 자동 이메일로 통보됩니다.
게시 완료 후 알림 이메일이 Gmail에서 수신되었거나 GAS에서 검색합니다.
검색 방법은 진흙이지만 다음 조건
조건은 다음과 같습니다.
// タイトルのチェック.
// 今回は公開時のメールを検索.
var title = message.getSubject();
var regexp = new RegExp("Ready for Sale");
return (title.match(regexp) != null) ? true : false;
본문에서 버전 번호를 얻으면 연락처 내용과 릴리스 태그에 사용할 수 있으므로 추출하십시오.
var body = message.getPlainBody();
var regexp = new RegExp(App Version Number: *.*.*);
var versionLineStr = body.match(regexp)
if (!versionLineStr) {
return null
}
var versionString = versionLineStr[0].replace("App Version Number: ","")
// 1.0.0などストアストアのバージョンが入ります.ビルドナンバーも取得することは可能です。
return versionString
이해관계자에게 문의(GAS + Slack App)
앞의 메일이 적중되면 본문에서 버전 정보를 추출하여 알림 메시지를 성형합니다.
Slack에서 이해 관계자에게 알립니다.
릴리스 태그 끊기(GAS + Github API)
앞의 단계가 완료되면 Github API를 사용하여 릴리스 태그를 자릅니다.
API에는 title이나, body를 넣을 수 있으므로
이것을 트리거로 Bitrise를 움직이는 작전입니다.
App Store Connect에서 dSYM을 DL하고 Firebase에 업로드 (Bitrise + fastlane)
App Store Connect상의 dSYM을 DL하려면 APIKey를 이용한 방법으로는 접속할 수 없으며 ID/PASSWORD를 이용하는 방법 밖에 없습니다.
2FA가 필수가 되고 나서 자동화의 큰 벽이 되어 버렸습니다만, Bitrise에 지금은 맡길 수 있습니다. 참고 문서
그러나 한 달에 한 번 설정 화면에서 세션 업데이트가 필요합니다. 2FA만 입력하면
Bitrise에서 관리하는 AppStoreConnect 자격 증명을 사용하고 fastlane에서 다음 lane을 실행합니다.
앞의 단계가 완료되면 Github API를 사용하여 릴리스 태그를 자릅니다.
API에는 title이나, body를 넣을 수 있으므로
이것을 트리거로 Bitrise를 움직이는 작전입니다.
App Store Connect에서 dSYM을 DL하고 Firebase에 업로드 (Bitrise + fastlane)
App Store Connect상의 dSYM을 DL하려면 APIKey를 이용한 방법으로는 접속할 수 없으며 ID/PASSWORD를 이용하는 방법 밖에 없습니다.
2FA가 필수가 되고 나서 자동화의 큰 벽이 되어 버렸습니다만, Bitrise에 지금은 맡길 수 있습니다. 참고 문서
그러나 한 달에 한 번 설정 화면에서 세션 업데이트가 필요합니다. 2FA만 입력하면
Bitrise에서 관리하는 AppStoreConnect 자격 증명을 사용하고 fastlane에서 다음 lane을 실행합니다.
# laneは特殊なことはしておらず、必要なものを組み合わせているだけです.
lane :upload_dsyms do
download_dsyms(
version: 'latest'
)
# FirebaseにdSYMをアップロード
upload_symbols_to_crashlytics(binary_path: './scripts/Firebase/upload-symbols', gsp_path: "./path/to/GoogleService-Info-release.plist")
end
앞으로 하고 싶은 일
이것으로 심사 제출 후에 자동 릴리스를 선택해 두면, 나머지는 모두 자동화할 수 있었습니다. 수동 릴리스의 경우도 릴리스 버튼을 누르면, 그 후에는 자동입니다.
Meta 정보의 제출에 관해서도 Bitrise + faslane으로 자동화는 가능하므로 앞으로 임해 나가고 싶습니다.
전체 그림은 대체로 이런 느낌입니다.
Reference
이 문제에 관하여(AppStore 심사 통과 후 작업 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/y_hakutaku/items/4a8fc318d9903a8f6b03
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AppStore 심사 통과 후 작업 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/y_hakutaku/items/4a8fc318d9903a8f6b03텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)