macOS版アプリを開発してみて思ったこといろいろ やっぱりハードルはかなり高いぞ!
昨日のTALK (“App Storeで正式リリース! macOSアプリ AuctionTradingWatch オークション取引管理“)で、アップルのApp Storeに“AuctionTradingWatch オークション取引管理”を正式リリースしたことをご報告しました。
同じように昔作ったアプリを復刻させてみようと思わる方もいらっしゃると思いますし、macOSアプリ開発もやってみようかなあと思った方もいると思います。そこで、個人的な経験ではありますが、macOSアプリ開発って、どのくらいのハードルなのかというところを、今回はTALKしようと思います。
< 10年間という空白期間の付けは結構大きかった >
毎年進化するアップルのプラットフォーム向けアプリを10年ぶりに復刻させてみようとすると、コンパイルで出るエラーの数は半端ない量でした。
始めてコンパイルした時に出たエラーはおよそ400件、それでも致命的なエラーは一握りでしたので、地道に修正作業を進めていけば何とかなりました。それにしても、10年前のアプリで致命的なエラーが思ったより少なかったのには驚きました。この辺りは、流石はアップルといった感じ。結果的にエラーは70件程度残りましたが、macOS 10.3〜10.4で”deprecated”になったメソッドばかりなので、追々修正すれば良いレベルです。
< macOSアプリ開発の技術情報が限りなく少ないことを実感 >
これは、アップル自身がmacOSにフォーカスしていないがための結果だと思いますが、macOSアプリ開発に不可欠な技術情報が想像以上に少ないです。と言うか、最新情報はほぼ皆無といっても良いほどです。アップルが公開している技術情報は、iOSのそれに埋もれていて発掘は至難の業です。
アップル自身は、この状況を改善するより、”iPadOS“の延長線上にある”Mac Catalyst“にシフトしていきたいようですが、”Mac Catalyst”が使い物になるまでには時間がかかりますし、”Mac Catalyst”だけではmacOSがサポートしている諸機能をカバーし切れません。
例えば、App Storeにアプリをアップロードする際に遭遇する簡単なエラーでさえ、アップルのWebサイトで解決策を探すことができないのが現状です。結局、数少ないネット検索の情報をつなぎ合わせ、試行錯誤しながら解決する他に手段がありません。
この状況をすべて解決して!というつもりはありませんが、このままでは魅力ある新しいアプリがリリースされなくなってしまうでしょう。せめて、技術情報を再整理して、ソリューションを見つけやすくしてほしいなあと思いました。
< macOSと言えばSandboxだけど具体的な方法が分からなかった >
macOSアプリを開発する際、マストで対応しなくてはならないのが”Sandbox“化だということは分かっていました。
でもね、正式リリース前に行うフィールドテストに必要な”Notarization“の段階では”Sandbox”化する必要がないので、App Storeにアプリをアップロードする際に遭遇するエラーで、始めてこの状態ではNGなんだと分かりました。こういった仕組みさえ、ちゃんと情報開示されていないので分かりませんし、そもそも”Sandbox”化の具体的な方法さえ手探りでした。これは、前述の情報不足と同じ根っこなわけですが、極論を言えば、この状態だと未経験者が新規アプリを作るなんて到底無理だっていうことなんだと思います。この点は、”Mac Catalyst”アプリ開発でも、概ね同じ状況だと思います。
< App Storeに掲載するAppプレビューの作成がいちいち面倒 >
今回の開発では、自分自身の経験値を上げる目的もあったので、これまで避けてきたAppプレビュー (アプリの紹介動画)の作成に挑戦してみました。1つのアプリで、最大 3個まで動画を掲載できます。iOSアプリと違い、macOSアプリは多機能な部分があるので、各30秒とは言え動画での機能紹介は有効だと思います。
でも、実際にやってみると、結構面倒でした。
“App プレビューの仕様“に書かれているルールを守ればAppプレビューは作成できるのですが、動画のフレームレートが毎秒30フレームというルールには手こずりました。
動画に関しては詳しい知識がないので素人発言になりますが、動画の解像度を1920 x 1080 ピクセル、つまりフルHDで出力しようとすると、”iMovie“などでは60フレーム固定になってしまいます。これを30フレームに変換する良い方法が見つかりませんでした。
結局、”Final Cut Pro“で条件に合う動作を編集、作成する羽目になってしまいました。
“Final Cut Pro”でなくても、”Adobe Premiere Pro“や”DaVinci Resolve“でも出来ることだと思いますが、個人的には思わぬ出費になってしまいました。ちなみに、”Adobe Premiere Rush“でも試してみましたができませんでした。(あまり掘り下げて使っていないので、もしかするとできるのかも?)
< 簡単そうで基本中の基本っぽい内容すら分からない >
上記のエラー画面を見てもらうと、”Document Type Configuration”がどうのこうのっていうワーニングが表示されていますよね。このワーニングの解決方法は難しくはないのですが、肝心なアプリに属するファイルのアイコンの設定方法が分かりませんでした。こんな初歩的な内容ですら、ネットで調べても分からいのが現状です。これでは、macOSアプリやMac Catalistアプリを手掛ける開発者が増えないのも自明の理。今回のTALKで散々言っていますが、兎にも角にも必要な情報を簡単にキャッチアップできないんです。
ということで、今回のリリースではファイルアイコンの処理は未対応です。ま、普段見ることのないファイルですが、いわゆる白紙アイコンのままです。
< アプリの申請作業はオール日本語でOKでした >
“App Store Connect“を通じてアプリの審査をすべて日本語だけで行えたのは数少ない朗報のひとつ。ま、今回は、アプリを販売するマーケットを日本に限定したこともあるかもしれませんが、申請用のページには日本語で必要事項を記入しました。ただ、リジェクトされると英語でのやり取りなのかもしれません。
そんなわけで、macOSアプリの開発、リリースを経て、個人的な経験値はかなり向上したように思います。
とは言え、iOSアプリ以外の開発環境は、想像以上の荒野だということも再認識した体験でした。もうすぐ、”WWDC20“が開催になりますが、各プラットフォームの開発環境は、どのぐらい進化あるいは改善するんでしょうね?個人的には、新技術よりも、開発環境という足場に目を向けた改良が進むことを密かに期待しています。さて、どうなるのかなあ?
p.s>
噂では、”WWDC20“でARMベースのプロセッサーを搭載するマックが発表になるとかならないとか。仮にそうだとすると、アーキテクチャの移行期間に伴いmacOSも大きなテコ入れが入る可能性があるのかもね。ま、その時は、開発者に優しい足場を一から作って下さいね、アップルさん。
|
|
|
ホームページ “THE POOH FILES”にも是非お立ち寄り下さい。
“Adobe Stock“でベストショットな写真素材を販売中です。是非ご覧下さい。