Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

Eight iOS アプリの申請作業はボタン一つ

Eight 事業部 iOS エンジニアの 河辺 です。Eight iOS チームでは、これまでアプリの申請作業を手動で行なっていましたが、昨年の12月より自動化しました。この記事では、そのアプリ申請作業の自動化の取り組みを紹介したいと思います。

これまでのアプリ申請に必要な作業

iOS アプリをリリースする際には Apple に申請する必要があるのですが、申請作業は手順が多く複雑です。Eight iOS では、アプリの申請作業を一部自動化していましたが、それでもなお作業手順が多い状態でした。当時のアプリ申請作業の手順は以下の通りです。

  • Bitrise の Workflow を実行し、ipa ファイルを作成, App Store Connect に ipa ファイルをアップロードする
  • Testflight でアプリを配信する
  • App Store Connect でリリースバージョンを作成する
  • Store 文言を変更する
  • App Store Connect で、リリース時に配布する ipa ファイルを選択する
  • 「バージョンのリリース」, 「自動アップデート用の段階的リリース」, 「 iOS 評価概要のリセット」の各項目でチェックを付ける
  • 「輸出コンプライアンス」, 「広告 ID ( Advertising Identifier 又は IDFA ) 」の各項目でチェックを付ける
  • 審査に提出する

審査に提出する際には、各設定項目が正しく設定されているかダブルチェックを行っていました。

人間がアプリの申請作業を行う課題

Eight iOS チームでは、約2週間に1回という高い頻度でアプリをリリースしています。高い頻度でアプリをリリースすることで、「ユーザーに速く価値を届けられる」という点においては良いのですが、「高い頻度でアプリの申請作業を人間が行う必要がある」という点においては課題感がありました。

アプリの申請作業は手順が多く複雑であるため、ミスをする可能性もありました。アプリ申請作業のミスを防ぐためにタブルチェックを行なっていたものの、人間が作業をしている以上、今後も必ずしもミスをしないとは言い切れませんでした。

これまではアプリ申請作業の一部を自動化していましたが、作業コストが低くはないという状況でした。今後も高い頻度でアプリをリリースする上で、アプリの申請に掛かる作業コストは無視できません。また、アプリの申請作業のような機械に任せられることは機械に任せて、人間はユーザーに価値を届けることに注力する構図を作りたいと考えていました。

f:id:m-kawabe:20200124103328p:plain:w200

現在のアプリ申請に必要な作業

上記のような課題感があり、アプリ申請作業の自動化を行いました。その結果、現在のアプリ申請作業は以下の一つだけになりました。

  • Bitrise の Workflow を実行する

一連のアプリの申請作業は fastlaneBitrise で実現しています。アーキテクチャは以下の図のようになっており、Slack の Slash Command で Bitrise の Workflow を実行するようになっています。

f:id:m-kawabe:20200124104919p:plain

アプリの申請作業が完了すると、Slack で通知されます。

f:id:s_yuka:20200213132940p:plain

現在のアプリの申請フローを運用してみて

まだ運用して 2 ヶ月程度しか経っていませんが、今のところ大きな問題は無く運用できています。

アプリ申請作業のコストが下がったことで、アプリの改善等の他の作業に時間を掛けられるようになった実感があります。アプリ申請作業の自動化をする前に考えていた「機械に任せられることは機械に任せて、人間はユーザーに価値を届けることに注力する構図」に一歩近づけたのではないかと思います。また、アプリ申請作業のコストが下がったことで、アプリ申請作業を行うことに対する心理的ハードルが下がったように感じます。これまでのアプリ申請作業は手順が多く複雑であったため、気が重い面もありましたが、今では「 Bitrise の Workflow を実行する」だけで済むため気が軽くなりました。

アプリ申請作業の自動化を行う際にはあまり意識していなかったことですが、アプリ申請に関するドキュメントが不要になり、ドキュメントのメンテナンスコストが無くなったという効果もありました。過去に申請作業を一部自動化した際にはドキュメントを作成していましたが、今回は完全自動化ということで、ドキュメント自体が不要になりました。ドキュメントを書く・読む必要が無くなり、チームメンバー全員が幸せになったのではないかと思います。

まとめ

この記事では、Eight iOS アプリ申請作業の自動化の取り組みについて紹介しました。Eight iOS チームではアプリ申請作業に限らず、他にも自動化の取り組みを行なっています。それらの取り組みに関しては、また別の機会に紹介したいと思います。


buildersbox.corp-sansan.com

buildersbox.corp-sansan.com

© Sansan, Inc.