iOS14がリリースされて仕事がヤバい。
僕の最近の仕事はiOSアプリ開発なのだけど、appleがとんでもない爆弾をぶん投げてきやがった。
これは僕も迂闊だったんだけど、iOS14がこんなリリースの仕方されるとは想定してなかった。でもって、10月頭がバージョンアップの納期なのよ。
iOSのアプリ開発をやってる人だったら分かるかもしれないけど、iOSアプリはOSのバージョンアップごとにバグが発生してそれを修正することにリソースが取られる。しかも、appleの殿様商売のやり方というのは半端じゃなく、自分たちが指定した機能の使い方以外はどんどん潰していくので、開発者はappleがどんなおすすめのライブラリや開発手法などを紹介しているのか目を皿にして確認し続けなければならない。流れについていけないアプリは容赦なく審査からはじかれてapp storeから排除されていく。
こうやってiOSがたまにバージョンアップされるけど、そのたびに使えなくなるアプリは増えていく。今回みたいなメジャーアップデートがあった後は、バグで使えなくなっているアプリが相当あるはずなので、iPhoneなどを使っている人は14.0.1とかそういうマイナーアップデートが行われるまではバージョンアップを待った方が良いよ。
開発力のある大手企業のアプリとかなら、バク対応にもリソースを割けるので何とか出来るんだけど、うちらみたいな中小企業のアプリ開発なんぞ、Web開発とかそういうアプリ開発と全く関係ない事をやってるエンジニアが、気合と根性とググり力で何とかでっち上げて作ってるものなので、今回みたいなOSアップデートがあった場合には、血反吐を吐きつつ徹夜しながらバグ修正するのである。ここ半年ぐらいはiOS開発をしているけど、僕は元々サーバサイドエンジニアであり、営業から上がってくる要望をなんとかなだめすかせて妥協させながら、とりあえずはpush通知出来たりWKWebViewでサイトを表示させるようなガワだけのアプリを作ってるのである。
今回のiOS14アップデートは、どう考えてもバク対応までは納期が無理筋なので早々に上司に納期延期の稟議を投げた。push通知はsilent noticeでアプリに投げて、内部でDB処理などをおこなって完了後にローカル通知で通知を出すようにしているんだけど、silent noticeが非推奨になったんか知らんけど短時間で繰り返し送ると通知が間引かれたりするらしい。このpush通知もappleはなんか思惑があるらしくて、VoIP通知もios13で電話の通知以外は使えなくなった。
どうしてもpush通知のタイミングでデータを送らないといけないんだけど、サイレント通知が非推奨になると設計から見直しを行う必要が出てくる。というか、ダークモードも実装しようと思ったんだけど、営業が「うちのイメージカラーと違う」とか言ってるので、ダークモードでもライトモードと同じ表示になるようにしてやる必要がある。いまはUIUserInterfaceStyleで無理やりライトモードにしているけど、そのうち審査にはじかれるようになるかもな。
とりあえずはpush通知が要件としてはマストなので、そっちの方に全リソースを突っ込むべきか。今回のiOS14がマジでsilent notice非推奨とかだったら本格的に死にますね。今日は不具合の表面上をさらっとなぞっただけなので、他にもバグが隠れているかもしれず、そっちの調査も急がないといけない。
しかしながら、明日から僕は休みなんだよね。最近はコロナのせいで計画休業が多いので、勤務日数も少ない。こういう短い期間でどうこうできるほどアプリ開発のクンフーは高くねぇよ。まぁ、システム開発ってのも組織に乗っ取ったプロセスでやるもんですし、僕は末端でコーディングしてるだけの下っ端なので、こういう事があると上司に報告するまでが僕の責任であるな。
まぁ、でもアプリ開発の勉強とかはして生産性は高めたいよなーとは思う。今回のiOS14騒動で、自分はappleの動向をリサーチするのが不足してたんだなと気が付かされたし、この失敗を繰り返さないように公式ドキュメントはたまに目を通すのを習慣化しておこう。いずれは自分でなんか有料アプリを開発して小遣い稼ぎしても面白そうなので、MacBook基金でも作っておきますかね。