広告収入しかないから、ほったらかしていたadwareのios appがあったのだが、時間ができたので、アップデートすることにした。
くそみそのユーザーレビューなんかもらいたくないし、このAppの稼ぎ時は、真夏と真冬なので。

それで、おおよそ2年ぶりとなるアップデートなので、いろいろ思い出しながら、やるわけだが。アップデートの基本コンセプトは、できるだけ元から変えない。変更は、ミニマムでということだ。ライブラリも動くなら古いママで、しかし、Xcodeとその付属は、最新の11.5を使って。いじりすぎると、USのベトナム戦争みたいになりかねんから。

まず、最初のXcodeのアップデートは、うちではAppStoreでは出来ない。というのも、Xcodeのダウンロードは、5GB近い代物で、いまだ12Mbps ADSLのここでは、ダウンロード制限時間ないにおわらないので。それで、デベロッパーサイトの奥底にカモフラージュされてるところから、ダウンロードする。そうすると、制限時間ないのでダウンロードできる。Appleがこれやめたら、iOSデベロッパはやめようと思う。

それで、App自体の修正とビルドは結構道なりにいけたのだが。まず、provisioning profileとcertificateがあかんよ、という。develop用は、昔、あまりにcertificateとprovisioning profileの問題が多発したので、Appleはワイルドカードのcertificateが導入したのだが、これは、今年廃止になったそうな。
xcode11.5では、certificate& provisioning profileもすごく改善されて、わかりやすくなった。一昔前は、自分でprofileダウンロードして、keychain toolを起動してインポートだったので、ブラウザー、keychain tool,Xcodeと3つもツールを渡り歩いていろいろやる必要があったが、 いまではXcodeで、certificateとprovisiong profile指定すると、Xcodeがダウンロードもkeychainへの登録もやってくれる。

それで、次がいつも問題となるスクリーンショットで、前回なかったiPhone 11 pro maxの6.5インチ用のスクリーンショットは必須だ。で、もちろんデバイスではなくて、シミュレータで取ることになるのだが、AdMobつかっているから、そのままのスクリーンショットでは、サブミットに使えない。バナー広告張り付いているスクリーンショットは、Appleで蹴られるので。

ところが、バナーの領域には、Appleのホームボタンの代用品のグレーのボタン表示がある。だから、これをキープしたまま、他の領域をバックグラウンドカラーで上塗りしないといけない。で、うんざりしてしまったのだが、解法を思いついた。

シミュレータでもバナーアドは空から降ってくるのだが、app起動後から少しだけ時間がかかる。それで、app起動直後に早打ちの要領で、画面操作を行いスクリーンショットを撮った。それで、早打ちで取れないスクリーンショットは省いてサブミットしたのだった。

ということで、けっこう手抜きでアップデートしたのだが、今のAppleの審査は、すくなくとも既存のAppについては速い。ほとんど、半日以内に結果が出る。

PS
 Appleから、mac-os 11の発表があったが、サポート対象は、mac mini 2014以降だそうである。うちのmac mini 2012は、サポートされないらしい。2014がサポートされるのに2012がサポートされないなんて、理不尽な。ニューのmac miniは、高いのでとっても買う気にならない。だって、iOS appのメンテだけがmac mini の存在理由で、他になにもない。これの収益で、ニューのmac mini投資を回収できる見込みはないから。
 Appleは、mac-osの足切りラインを上げるなら、デベロッパー向けの優待価格を設定スべきだと思う。デベロッパーは、テスト機器でも更新要求されてるんだが、そっちも優遇措置はないし。
ということで、Xcodeがアウトになったら、iOS appのメンテはやめることになるのじゃないかと思う。他のことは、WindowsかLinuxで出来るんだし。