Konifar's WIP

親方!空からどらえもんが!

DroidKaigi 2018 iOS appのApple審査が通るまで

FlutterでDroidKaigi 2018のiOSアプリを作りましたという記事を書いた後、Appleの審査で何悶着かありもう公開は無理だと諦めていたところ、DroidKaigi当日の2018年2月8日に奇跡的に審査が通りApp Storeからインストールできるようになりました。

DroidKaigi 2018 Flutter

DroidKaigi 2018 Flutter

  • Yusuke Konishi
  • ユーティリティ
  • 無料

色々な人に知見をいただき、本当に感謝しています。iOSアプリを開発している人にとってはよくあることなのかもしれませんが、自分にとっては新鮮な体験だったので忘れないうちに時系列で残しておこうと思います。いつか、どこかの誰かが同じ思いをした時に少しでも助けになれば嬉しいかぎりです。

1/31 (水) 残り8日 - 初Submit

DroidKaigi当日まで残り8日の時点で初めてのsubmit。自分にとっては人生初のiOSアプリsubmitで気分が高揚しました。

結構ギリギリだなぁとは思いつつも、普段の業務では翌日には承認されていたのでまぁ大丈夫かなと考えていました。

2/1 (木) 6:11 残り7日 - 初Reject

最初のRejectはめちゃくちゃ早かったです。

f:id:konifar:20180211125646p:plain

要するに Androidって文字を入れちゃダメ。アプリの説明にもメタデータにも入ってるから全部決してやり直し。ローカライズしてたらそっちの方も忘れずに消すんだよ」 とのこと。この時、勘違いして Droid もダメなのかと思ってしまったんですが、Droid自体は特に言及されていなかったですね。

ですが、日にちも迫っていたので念のため Android は消すけど DroidKaigi は同名の一般社団法人が運営するカンファレンスの名前なんだよ。変えなくていい?」というメッセージを送りました。

2/1 (木) 10:44 残り7日 - Appleからの返信

即返信がきました。

f:id:konifar:20180211130452p:plain

意訳すると 「君がその法人のオーナーじゃないならDroidKaigiという名前を使うのはよくない」とのこと。ぐぬぬぬ。

さらに、「アイコンもAndroidのキャラクターになってるからちゃんと直すんだよ」と釘を刺されてしまいました。

アイコンの置き換えはすぐに解決しました。

問題はDroidKaigiの権利云々の話です。どうしようかと思っていたところ、Twitterで強い方々から続々と助言をいただきました。

その話が @mhidaka さんにも届き、対応していただけることに。

余談ですが、@mhidakaさんの「この時期は社印手元にあるので」という言葉すごいなと思いました。

その後、@yanzmさんと@mhidakaさんとDMでやりとりして、『コンテンツ利用に関する承諾書』を作成。同日18:36にAppleに返信とともに送りました。

f:id:konifar:20180211131441p:plain

2/1 (木) 19:01 残り7日 - 二度目のSubmit

すべてのAndroid文字を消し、Droidくんの耳も削って再度Submit。

2/2 (金) 10:21 残り6日 - スクショのAndroid文字列を発見

あとは審査を待つだけだと思ったのですが、ふと申請中の画面を見ていたらセッション一覧画面のスクショの中にAndroidという文字が含まれているのを発見。

セッション一覧でAndroidという文字が含まれない場所なんかあるんか…?DroidKaigiだぞ…?と半ば諦めながら探していると、奇跡的に発見しました。

f:id:konifar:20180211132716j:plain

あと6日あるし、勝ったなと思っていました。この時は。

2/3 (土) 2:00 残り5日 - InReviewにステータス変更

2/3 (土) 14:00 残り5日 - 審査中

DroidKaigi conference-appのレビューのスピード感に慣れていたからか、レビューが遅いなと感じました。

2/4 (日) 12:30 残り4日 - 審査中

Submitから3日経ち、平均審査時間を過ぎたが審査中のまま変わらず。だんだんと焦ってきました。

2/5 (月) 10:27 残り3日 - Appleに問い合わせ

しかし反応なし。

2/5 (月) 15:15 残り67時間 - 初めての特急申請

できることはすべてやっておこうと思い、初の特急申請を出しました。

こちらのフォームから必要事項を入力し、ReasonにTime-Sensitive Eventを選択して「申請時に書いたけど日本時間の2/8 (木) 10時から始まるDroidKaigiに間に合わせたい。遅くとも2/7 (水) 中にはレビュー終わらせてくれ」みたいなことを書いて送りました。

2/6 (月) 0:44 残り55時間 - 神に祈る

2/6 (月) 1:25 残り56時間 - Appleからの返信

f:id:konifar:20180211144020p:plain

意訳すると 「遅れてすまぬ。急ぎの連絡承知したが、もう少し時間がかかるゆえしばし待たれよ。結果は後日メールにて確認されたし」 とのこと。

2/6 (火) 12:24 残り43時間 - 自分で配布することを決意

さらに10時間経っても返信がなかったため、もうリリースは諦めて自分で配布することに。

最初はTestFlightを使おうと思ったのですが、DroidKaigiスポンサーのdeploygateでもできると@shirajiさんが教えてくれました。

deploygateの中の人も登場し、アドホックなら100台までいけると教えてもらいました。

2/6 (火) 15:07 残り42時間 - deploygateの中の人が検証

自分は本業に勤しんでいたのですが、その間にFlutterで作ったアプリを配布できるかを検証していただけたようです。ありがとうございました!

実はこの検証で見つけた問題を修正してリリースまでしていただけたようで、本当に感謝しています。

2/6 (火) 23:36 残り34時間 - deploygateで配布開始

deploygateでのiOS app配布、マジでめちゃくちゃ簡単ですごかったです。皆さん使うといいですよ。

その後は登録していただいた皆さんのUDIDを登録して再配布していきました。

2/7 (水) 9:42 残り24時間 - 神に祈る2

が、音沙汰なし。

2/7 (水) 12:54 残り21時間 - テスターが30人になる

この後、最終的に50人くらいになりました。

2/7 (水) 14:00 残り 19時間 - 二度目の特急申請

もうリリースを諦めてはいましたが、最後にもう一度お願いしておこうと思い二度目の特急申請を送信。

As I said many times, this app should be released by the conference day, 8th Feb (Tomorrow!) I asked you to review asap. Can you finish today? I hope your quick review seriously. Thanks.

意訳すると 「何度も言ってるけどDroidKaigi(明日!)に間に合わせたいんだよ。今日中に終わるの?マジで頼む」 みたいな感じで送りました。

2/7 (水) 23:26 残り10時間 - 神を恨む

2/7 (木) 1:56 残り8時間 - ミラクルが起きる

登壇準備をしていると、急にメールがきて思わず二度見しました。

iTunes connectのページを見てみると、審査が通っていてApp Storeからインストールできる状態に!

しばらくすると、『droidkaigi』というキーワードで検索できるようになりました。

結果的に、DroidKaigi開催まで残り8時間というすごいタイミングでリリースできました。Appleありがとう。


正直、Appleの審査がこんなに大変だとは知りませんでした。普段iOS開発している人は本当に大変なんだなと感じました。

リリースは大変でしたが、自分の発表時間に「DroidKaigiのiOSアプリを使ってる人?」と聞いてみたら半数くらいが手を上げてくれてビビりました。

iOSアプリがあってよかったと何人かの人から声をかけられて嬉しかったです。

iOSのリリースのために色々と助言いただいた皆さんありがとうございました! @kikuchyさんのKotlinNative版も未だ審査中みたいなので、なんとか通るよう祈っています。

余談ですが、今回iOSアプリのリリースができたことで、妻にも一人前と認めてもらえそうです。