俺のiOSアプリがMinimum Functionalityリジェクトを突破した件

独自に運行しているシャトルバスとか、「ちぃばす」とか、たぶんローカルバスとか、バス停の板とか紙とか良くてPDFでしかない時刻表って一杯あるかも。という想い、という綺麗事ではなく自分がそれで毎日イライラしていたのでiPhoneで使える俺アプリを作ってみました。
殆ど今まで作ったアプリの実装を応用すればちゃちゃっとできました。一番大変だったのはもとのPDFの時刻表から何度もコピペしてXMLを作る地味な作業w
最初のバージョン

UITabViewControllerにUINavigationBarとUITableVewとUISegmentControlを乗っけて表示。これだけでPDFを拡大するよりもかなり使いすくなりました!
Apple Developer Programに年間100ドルも払っているので、ならば飲み屋でモテるネタにとApp Storeで公開することにしました。
その結果は、リジェクト!

Guideline 4.2 - Design - Minimum Functionality

でたよ。
出す気が無くても、iOSデベロッパーが一番言われたくない、心が折れるリジェクト理由なのです。
このガイドラインはようするに「つまらないアプリ」っていう規約です。でも、以前はiBeaconや気圧計のすごくシンプルなアプリでも通りました。実際、サンプルコードそのままと思われる他のデベロッパーのアプリもApp Storeでよく見かけます。
それが、どうも審査基準が厳しくなったみたいです。
私のプログラマー魂が燃え上がりました
ちゃちゃっとUINavigationBarの右上に「乗り場」ボタンを追加して、タップするとSafariGoogleマップが開くようにして、即日に再申請しました。
っが、依然としてMinimum Functionalityが解消されていないのでリジェクトとの結果。
ですが、

リジェクトに反論して食い下がるのは時間の無駄

です。過去に別のリジェクト理由で反論して食い下がった経験がありますが、審査は審査員個人に依存する部分があり、審査結果に対して頑固で時間の無駄です。
そこで前向きに仕切り直しすることにしました。
リジェクトのメールに対策が書いてあるのですが、それをもう一度冷静に読んで今回やらねばならないのが

アプリのコンセプトを変える必要がある

こと。
つまり時刻表アプリというコンセプトがアウトだと。今まで用語集アプリとか作っていましたが、それも今の審査基準あるいは今回の審査員ではアウトかもしれません。

時刻表を表示して「んで、その次に何が?」の何が必要

そこで、時刻表アプリというコンセプトを捨てて、知恵を絞り、このようにしたところ審査を通りました!
審査が通ったバージョン

一見するとわからないかもしれませんが、UINavigationBarとUITableViewの間に次のバスの出発時間とあと何分かを表示するのを追加しました。あと「乗り場」をタップした時に、GoogleマップではなくiPhoneの地図アプリが開くようにしました。後者はアップルへの忖度ですw
この結果、そう、このアプリは時刻表アプリではないです。

次のバス発車時刻がすぐにわかってカウントダウンするアプリ

なのです。アプリの主役だった時刻表はオマケという位置付けだと滲み出るように、次のバスとその残り時間を表示しているUITextViewを残り時間によってグリーンからレッドに色がチカチカしながら変わる仕様に作りこみました。
リジェクトされて知恵をもう一絞りしたおかげで、確かにユーザー体験はよくなったと思います。
そこで、今度は自主的に欲望が湧いてきて、通知センターにも表示しちゃうようにしました。
通知センターの「今日」に表示

これは今審査中です。通知センターを使ったアプリは初めてなので何かあったらまた今度。(=>追伸:半日後に審査されApp Storeに無事公開)