審査は通るのに、起動しない
6月、節約記録アプリをクローズドテストに出していたときのことです。
Google の審査を通った新しい版をスマホに入れると、「読み込み中…」のまま止まって、先に進みません。 「はじめる」ボタンを押しても反応がない。
直して、審査に出して、通って、入れ直す。それでもまた止まる。これを繰り返しました。
| 版 | スマホで確かめた日 | 起動すると |
|---|---|---|
| 1.0.3 | 6月9日 | 読み込み中のまま止まる |
| 1.0.4 | 6月10日 | 止まる |
| 1.0.5 | 6月11日 | 止まる |
| 1.0.6 | 6月12日 | やっと起動した |
実はその前の 1.0.1 と 1.0.2 でも、審査は通ったのにアプリが起動しない、ということが起きていました。審査を通ったのに起動しない版が、5つ続いたことになります。
AIは毎回、原因を特定してくれたが……
止まるたびに、AIに相談しました。そしてAIは毎回、原因を見つけてくれました。
最初に疑ったのは、広告の設定でした。広告の仕組みを組み込むときに必要な設定が足りないと、アプリが起動しなくなることがあるからです。
次は、画面の準備ができたことを知らせる合図の受け取り方。そして、プログラムの書き間違いが2か所。どれも本物の間違いで、AIの説明には筋が通っていました。
直す。審査を通す。入れ直す。止まる。
直したはずの間違いが、なぜか直っていない。
私は6月9日に、気づきかけていた
いま記録を読み返すと、6月9日の私は、こう質問していました。
index.html の差し替えは、1つだけで大丈夫ですか? フォルダの中に5つあります。
index.html は、アプリの画面そのものが書かれたファイルです。それが5つもある。どれを直せばいいのか、不安になったのです。
AIの答えは、はっきりしていました。
「1つだけで大丈夫です。このプロジェクトは www というフォルダを使わない構成です」
私は安心して、言われたとおりに1つだけ直しました。
流れを変えたのは、「前は動いていた」という一言
6月11日、3回目も止まったとき、私はこう書き添えました。
Google Play 用のアプリにする前、Netlify で配っていた版は、問題なく起動して使えていました。
ここでAIの見立てが変わりました。「前は動いていた」なら、コードの問題ではなく、アプリを組み立てる手順の問題かもしれない。
調べてみると、答えは組み立ての記録にそのまま出ていました。
Copying web assets from www to android\app\src\main\assets\public
アプリに入るのは、www フォルダの中の index.html でした。
原因:直したファイルが、アプリに入っていなかった
私が3日間直し続けていたのは、www の外にある、別の index.html でした。
アプリに組み込まれるのは www の中のほう。そこには古いファイルがそのまま残っていました。 だから、何を直しても、何度審査を通っても、スマホに届くのは同じ古い画面だったのです。
対処は、たった2行でした。
copy index.html www\index.html
npx cap sync android
直したファイルを www の中に写し、アプリの中身を入れ替える。こうして作った 1.0.6 は、審査を通ったあと、ちゃんと起動しました。
AIが見つけた間違いは、どれも本物でした。直し方も正しかった。ただ、その直しが、アプリまで届いていなかったのです。
あとで記録を読み返して、気づいたことがあります。6月7日、最初に相談したとき、AIが挙げた原因の候補の中に、「npx cap sync を実行し忘れた」がすでに入っていました。 直したファイルをアプリの中に写す手順です。
答えは、初日に候補として出ていたのです。 それが6月9日の「1つだけで大丈夫です」のときに、「この手順は要りません」という説明とともに、候補から外れていました。
いまの決まりごと
この一件のあと、私たちの作業メモの一番目立つところには、こう書いてあります。
「編集するのは www の中の index.html。外にある index.html は古い」
3か月後、ゴルフのアプリを直していたとき、同じように画面ファイルが2つある場面にまた出会いました。今度は、直す前に2つを見比べて、どちらがアプリに入るのかを確かめてから手をつけました。同じ失敗は、二度目には防げました。
同じ作りのアプリを持っている方へ
画面を HTML で作って、それをアプリにしている方へ。私の失敗から言えることは3つです。
- 審査を通ったことは、直ったことの証明にはなりません。 審査が見ているのは、あなたが直したかどうかではありません
- 「前は動いていた」は、いちばん強い手がかりです。 前と今で何が違うかを考えると、コードではなく手順に原因が見つかることがあります
- 同じ名前のファイルが複数あったら、どれがアプリに入るのかを先に確かめてください
そしてもう1つ。「本当にこれでいいのかな」と思ったときの違和感は、たいてい当たっています。 AIがはっきり答えてくれても、その違和感を確かめるほうが、結局は近道でした。
この記事のアプリ:節約記録アプリ(紹介ページ)

コメント