TWSNMP連携iOSアプリ開発の振り返り
はじめてiOSアプリを開発してAppleのAppストアに公開できました。初めて使うプログラム言語や開発環境、初めて経験するストア公開作業は多くのことを学習する必要があり、何十年も前にソフト開発の仕事を始めたころのことを思い出しました。
最初の目標
最初にこのアプリを作ろうと思ったのは約1ヶ月前です。この記事
で開発するアプリの要件を考えています。振り返ると、この記事を書いた時点で調べる必要があると思っていた事は、それほど苦労せずに解決できたように思います。安易に考えていたストア公開の作業の方が大変でした。後で詳しく。
iOSアプリ開発では古いネット情報は混乱の元
今回使用したSwiftというプログラミング言語やXcodeという開発環境は何年か前にドットインストールで基本的なことを学習した程度でした。今回、このアプリを開発するためにもう一度見直しましたが、最新のXcodeで同じことをやろうとするとかなり違っていることに気が付きました。いつものようにGoogleにiOSアプリ開発のことを聞いてみると、どうやら私がやろうとしていた方法は古い方法で最近ではSwiftUIというものを使えばUIをソースコードで書けるというモダンな開発方法が使えるということを知りました。私にとっては違和感なく開発ができる楽な方法でした。アップルの開発環境について詳しい人にとっては「何を言っているだ」というような話だと思います。初心者にとってはネットに溢れる新旧の情報を選り分けるのは結構大変だと思いました。私の得意な分野の開発で古い方法を使って苦労している人を見かけるのは、こういうことが原因なのかなとも思いました。
この記事に書いたように、新しい方法を調べて習得した後は開発のペースが上がりました。
Appストア公開は私にとって一番のストレス
私にとってプログラミングで新しいことを調べて問題解決することは楽しいことです。今回、一番ストレスを感じたのはAppストアへ公開するための作業でした。実際プログラムの開発よりこちらの作業に時間がかかりました。まず、Appストアに公開するための方法を公式サイト
で調べました。最新の情報はこれが一番正確なのはわかりますが、これらを全部読まなければならないのでは公開がいつになるかわかりません。もう少しポイントをまとめたサイトはないかと探しました。
を見つけました。他にもありましたが2020年版なので最新だろうと思って参考にしました。
このサイトの手順に従って
- Certificate作成
- AppID作成
- ProvisioningProfile作成
- AppStoreConnectに登録
- Xcodeからアプリのアップロード
- App情報の編集
- 申請
の順番に作業していきました。証明書の作成はサイトからではなく最新のXcodeでできる、など違っているところがいくつかありましたが、アプリのアップロードまではわりと順調でした。しかし、最初につまずいたのはApp情報の編集のスクリーンショットのアップロードです。必要と書いてある機種の画面コピーを単にiPhoneシミュレータで撮ってアップロードすればよいと勘違いしていました。このため間違った方向に試行錯誤してかなりの時間を無駄にしました。いくらシミュレータの機種を変えて作成しても
のエラーでアップロードできません。Googleで検索してもストアのサイズにあうシミュレータのスクリーンショットの撮り方は見つかりません。いろいろ苦労して、やっと、書いてある機種で撮った画面コピーではなく。アプリをストアで見る人が書いてある機種で表示する時の画像ということに気づきました。そこでストアのスクリーンショットの作り方を検索して、
を見つけました。同じように作ろうとも思いましたが、私は細かい画像編集をする根気がないので諦めました。このサイトにリンクのある
を使うことにしました。もちろん無料のプランです。不器用な私でも、このサービスを使って作るとストレスなく作れました。
の記事です。でも無料プランだとiPadの画像に透かしが入って使えません。
こんな画像です。
3000円払うか悩みましたが、iPhone用の画像を加工してサイズだけ合わせる方法で無料のまま行こうと考えました。これも失敗でした。作った画像は、
のような感じです。これで申請したらiPad用の画像にiPhoneのイメージがあるという理由で却下されてしまいました。ここで何日かスランプに陥り、画像作業は一旦やめて得意なプログラム作りをやっていました。気を取り直して画像を作り直そうとiPadのシミュレータで画面コピーを撮ろうして、このアプリがiPadでまともに動かないことに気づきました。
少し調べましたが直すのは大変そうです。そこでiPad用のビルドをオフにしてiPhoneのみに対応したアプリをiPadで試してみました。なんと!問題なく意図した動作をするではないですか。
えい、とiPadの対応をやめてiPhoneのみ対応のアプリにしました。この瞬間、iPad用のスクリーンショットが不要になり、無料で作った画像 だけで申請できるようになりました。
他にもいろいろありましたが、何とかアプリをストア公開できました。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。