くまちゃんのiOS/Androidゲームプログラミング

マイペースでゲームつくってます。

Xcode 7 アプリ提出で少し変わったこと

「ねこひろい」をアップデートしました。
どうもステージが難しくてイライラする、との声がいくつかあったもんでして、ステージデザインを見直しました。

私は昔からのアクションゲームの文脈にのっとった難易度設定をしたと思っていたのですが、21世紀にスマホで「ねこひろい」を遊んでいただく方というのはそれほど昔からゲームやっていた方ではないんですよね。女性も多いでしょうし。そういう意味では完全にターゲットを見誤っていました。その意味ではもっと簡単にしたほうがよかったかもしれません。

ゴリゴリに80年代アーケードを遊んでいた人向けのゲームって、これからはSteam向けでPCで作っていくほうがいいのかも。
あー、でももう自分としてはWindows+DirectXって断ち切ってしまったんですよねぇ、このiPhone, Androidのモバイル向けでアプリを作る、という決心と引き換えに。
なんか調べたらDirectX11からは以前のDirectX 9よりもさらに低レベルの実装をせねばならんようじゃないですか。DXUTが無いとかなんとか。
Windows8以降、Windows10以降の世界も学習せねばならない新しい約束ごとこともいっぱいありそうだし。でもこのモバイルへの開発者大移動で、以前に比べてネットも書籍もぐっと情報が少なくなっているような気もするし。

もうプラットフォーム毎に付き合っていくのは、時間というリソースの配分にめっちゃ気をつかいますね。

ゲームづくりに関係する技術においては、Androidは枯れたJavaOpenGLでちょっと落ち着いていると思うんですが、iOSMac OS Xも)はここへきてMetalがしゃしゃり出てきました。前からデビューしてましたけど、かなり下支えに活躍してくれるようです。Apple限定技術ですけど、CPUとGPUを効率的に扱えるのは魅力的ですね。チップとOSを一気通貫でつくれるからこそ、そりゃOpenGLより速くなるってもんですわ。なるだけ学習コストがかからないわかりやすい入門書でないかしらん。

で、AppleといえばiOS9とXcode7対応です。
アプリ開発者にとっては毎回心臓を悪くするこのメジャーアップデートの時期、今回はコーディング自体にはさほど影響がある部分はなかった(少なくとも自分の守備範囲において)んですが、意外や意外、アプリ提出での「お作法」が少し変化しており、ヒヤヒヤさせられました。

地味ながらも、一番大きな変更点は

「ビルドしたアプリをiTunes Connectのサーバーにアップロードしても、しばらく「処理中」となってすぐに審査提出用として選択できない」

って仕様変更です。
いや〜、これはかなりビビりますよ。「さ〜、めんどくさいスクショやら記述まわりが終わったし、あとはビルド済みアプリをひもづけて、いざ、審査提出!」と意気揚々とクリックしようにも、選択できないんですから。最初は「え?え??なんで?何か悪いことした?」と相当焦りましたよ。

ちゃんと改訂ガイドラインを精読すれば書いてあるのかもしれないんですが、例の非正規Xcodeでビルドされていないかとか、iOS9からWebは基本httpsとか、App Transport Security、いわゆるセキュリティまわりで悪さしていないかどうかとか、そういった類のチェックがかかっているのかも?と勝手に推測しちゃっていますが。

さらに「ねこひろい」の時は運の悪いことに、Validationはすぐにできたのに、Submitが延々できませんでした。Twitterで同様につぶやいている人もいるっちゃーいるので、どうもサーバーが不安定な時だったようです。あきらめて翌日にしたらすっと提出できたんですけども。

実は今日、「Spabee」をアップデートして提出してみたんですね。そしたら、それはSubmitもすっと通りました。そして、提出後の処理が終わったのがだいたい1時間後。
ですので、今後、 アプリ審査提出はビルドしたアプリを早めに提出して、iTunes Connectでのサーバー処理を先に開始させておいてから、アプリ情報の記述まわりをしたほうがいいと思います。

なんにせよ、Appleはこういった開発環境のアップデートに毎回ついていかないといけないのが大変ですね。ちょっと周回遅れになると取り戻すのが怖い。ですので、Xcodeの大型アップデートが来るたびに、なんでもいいので手持ちのアプリをアップデートしてビルドして提出する、ということを一通りやっておくほうが良いと思います。ふぅ。
https://itunes.apple.com/jp/app/nekohiroi/id1030662126?mt=8&uo=4&at=10l8JW&ct=hatenablog