SwiftUI:初めてのアプリ開発からリリースまで

SwiftUI

SwiftUIを学び始めてから、アプリ第一弾をリリースするまでにやったことの記録です。

AdMob広告対応、App内課金対応、英語/日本語対応、iPhone/iPad対応前提です。

「そんなの知ってるよ!」という項目は読み飛ばしてくださいね。

  1. SwiftUIを学び始めてからアプリをリリースまでの全工程。
    1. SwiftUIのプログラミングを学ぶ。
    2. Mac bookを買って、慣れる。
    3. Apple Developerに登録する。(年間$99)
    4. Xcode(AppleのApp開発環境)をインストールして、使い方を学ぶ。
    5. アプリの構想を練る。
    6. 全体の枠組みをプログラミングする。
    7. GitHubに登録し、Gitをインストールする。
    8. プログラミング&デバッグで、ある程度アプリを完成させる。
    9. iPhone各機種/iPadの縦横等で画面が破綻しないようにレイアウト調整。
    10. 英語版/日本語版のローカライズ対応を埋め込む。
    11. AdMobに登録して、App内広告ができる準備をする。
    12. AdMobのテストIDを使ってプログラミングし、動作確認する。
    13. AdMobの本番用IDを申請しておく。
    14. Privacy Policy、お問合せ先等の準備する。(ホームページ作る)
    15. Apple DeveloperページでApp ID(アプリ識別用)を取得する。
    16. App Store Connectにサインインする。
    17. App Store Connectで新規Appを登録する。
    18. App Store ConnectでApp内課金のIDを取得する。
    19. App内課金をプログラムする。
    20. App内課金のプログラムを検証する。
    21. スクリーンショットを準備する。(最終審査提出へ向けて)
    22. App Store ConnectでApp申請の項目を全部記入する。
    23. 最終ビルドを作成し、アップロードする。
    24. App Store Connectに最終申請を提出する。
    25. アプリ審査に合格し、無事App Storeに公開。
    26. 公開アドレスをAdMobサイトに登録する → AdMob審査合格。
    27. 不具合対応とバージョンアップ。
    28. アプリの最終版を、無事リリース完了。
  2. 最後に

SwiftUIを学び始めてからアプリをリリースまでの全工程。

SwiftUIのプログラミングを学ぶ。

私の場合は、iPadのアプリSwift Playgroundsがメインでした。

これは他の投稿でも書いていますので、よろしければそちらをご覧ください。

Mac bookを買って、慣れる。

いきなりそこからか!!と怒られそうですが、(笑)

Macをまだ持ってなかったので。。これから買う方に、1つだけ。

メモリだけは絶対16GB以上にしてください!!!

メモリ8GBでは、最新開発環境Xcode起動で”Resource Shortage”が多発します!! 
Mac book系は後でメモリ増設できませんのでご注意ください。

私は結局、M2チップMac book Air メモリ24GB、ストレージ1TBにしました。

Apple Developerに登録する。(年間$99)

開発段階までは登録しなくてもOKですが、アプリのリリースには必ず必要です。

この時は、この後の苦労など知らず、

やる気満々で早めに登録してしまいました(笑)

Xcode(AppleのApp開発環境)をインストールして、使い方を学ぶ。

インストール方法はWEBに沢山あると思うのでそちらを参照してください。

1つだけポイントを書いておくと、Xcode内のUser Interface開発方法には
StoryboardとSwiftUIの2つがあり、選択できます。

私はStoryboardを少し学んだ後、メインをSwiftUIにしました。

アプリの構想を練る。

思いついたネタを日々メモしていました。

それをドキュメントツールやお絵かきツールなどで設計図みたいにします。ここは好みのやり方で良いと思います。

プログラミングで後戻り無いよう、ファイル構成や、Viewの構成をきちんと整理しました。

全体の枠組みをプログラミングする。

私の場合、個々のアルゴリズムや計算より、画面遷移の方が自信無かったので。

また、次のGitHubを先に対応したかったので、大枠を優先して作りました。

GitHubに登録し、Gitをインストールする。

バージョン管理を無料でしてくれるGitという仕組みがあり、その登録管理サイトがGitHubです。

本格的に開発したかったので、登録して、初めて使ってみました。

ソースコードのある時点を保存、また過去のある時点へ戻る、などがXcodeのメニューからコントロールできて非常に便利です。

導入にはCocoaPodsというMac等のライブラリ管理ツールを使うので、ちょっと知識が必要です。

プログラミング&デバッグで、ある程度アプリを完成させる。

ここは、ある意味楽しいところですね。

Xcodeのシミュレータで一通り動くところまで作りあげました。

ただ、この投稿の趣旨からすると、まだ半分来ていませんが。。(笑)

iPhone各機種/iPadの縦横等で画面が破綻しないようにレイアウト調整。

ある程度Auto Layoutされますが、結構破綻するので、確認しながらプログラミング。

ここで、AdMobのバナー広告の場所確保も意識して進めました。

英語版/日本語版のローカライズ対応を埋め込む。

英語版も対応予定なら、早めに埋め込むことをおすすめします。

Xcodeでローカライズを実行し、英語用文言ファイルと日本語用文言ファイルを用意する感じです。

最初から欲張りすぎですが。。(笑)

SwiftUIのPreView表示でそれぞれ表示させてデバッグできます。

詳細は別途書こうと思います。

AdMobに登録して、App内広告ができる準備をする。

サイトに登録をする。

CocoaPodsを使って、SDKをインストールする。

AdMobのテストIDを使ってプログラミングし、動作確認する。

ここは結構大変ですね。

どの広告をどこで使うか決めて、プログラムします。
★バナー広告(画面の一部に小さなWindowとして表示)
★インタースティシャル広告(何かのトリガーで全画面広告表示。すぐ×で消せる)
★リワード広告(10秒程度見る必要がある全画面表示広告)

テストIDでプログラミングしておくと、AdMobのテスト広告が表示できます。

全画面表示の広告が終了すると、前のViewが再描画されるので、考慮が必要です。

私はここで、大幅に設計し直すことになってしまいました(涙)

AdMobの本番用IDを申請しておく。

必要な広告毎に本番用IDを取得しておきます。

私の場合は、バナー、インタースティシャル、リワードの3種になります。

当面の開発はテストIDで進めてください。

最後App Storeに申請する直前で本番用IDに書き換えます。

Privacy Policy、お問合せ先等の準備する。(ホームページ作る)

Privacy Policyは中身を理解して作るのに結構時間必要ですので、早めに考えました。

App申請時にPrivacy Policyと、お問合せ先のリンク(URL)が必須になってます。

SNSとか持っている方は、そこを活用することもできると思います。

私は、活用できるものが全くなかったので、
Xserver契約→ドメイン申請→WardPressインストール→cocoonインストールで、
このブログと共に用意しています。。

本筋でないですが、大変でした(笑)。

後で知りましたが、GitHubの自身のページでも可能のようです。

私は英語/日本語の両方を用意しています。

Apple DeveloperページでApp ID(アプリ識別用)を取得する。

App IDはApp Store Connectでなく、Apple Developerのページで申請します。

そして、Provisioning Profileという証明書の対応をします。
開発者とMacとXcodeとAppIDを紐付けて、ビルドや申請の時に使われるものです。

App Store Connectにサインインする。

いよいよアプリ申請に向けての準備になります。

Apple Developerに既に登録していることが必要です。

App Store Connectにサインインし、契約書や税金、口座情報等を登録します。

App Store Connectで新規Appを登録する。

App Store Connectで新規Appを作成します。

埋められるところを埋めて保存しておきます。

手順としてここで最もやりたいのは、次のApp内課金設定です。

App Store ConnectでApp内課金のIDを取得する。

App選択した時の左のApp内課金という項目から申請します。

私は今回、広告無しにするApp内課金を想定したので、「非消耗型」で取得しています。

このIDが、この後App内課金のインプリや検証に必要になります。

App内課金をプログラムする。

私はApple Developerのページからダウンロードできる「SKDemo」というアプリのソースコードを参考にして書きました。

App内課金のプログラムを検証する。

検証方法は以下の3段階あります。

①Xcodeにて、StoreKitConfigurationファイルを作成し、課金動作を検証。

②App Store ConnectでSandBoxテスター(仮のApple ID)を登録し、実際に通信させて検証。

③TestFlightアプリをiPhone/iPadにインストールし、ビルドを実行して検証。

これらは情報が少なくて苦労しました。詳細書くならここ優先します。

検証終わると、ここでソースコードは最終になっているイメージです。

スクリーンショットを準備する。(最終審査提出へ向けて)

公開アプリのページで表示されるものです。

iPhone用に2種、iPad用に1種、各最低2枚必要です。英語/日本語ページ別にアップロードできます。

画素数が縦横きっちり決まっているので、作成には結構工夫が必要です。

私はAppleの付属ソフトKeyNoteを使いました。大きさを画素数で設定できます。

私の場合、各4枚日英で全24枚、2〜3日かかりました。

App Store ConnectでApp申請の項目を全部記入する。

ここまでで材料はそろいましたので、申請に向けて項目を埋めていきます。

アプリの説明、ダウンロード価格、App内課金の情報、Privacy Policyのリンクなど。
多言語の場合は、言語毎の項目もあります。

詳細はまたどこかで。

最終ビルドを作成し、アップロードする。

申請準備が整ったら、Xcodeから最終ビルドを作成し、Distribution Appとしてアップロードします。

AdMobの広告IDを、テストIDから本番IDに忘れずに変更しておきます。

App Store Connectに最終申請を提出する。

App内課金がある場合は、最初のビルでと一緒にApp内課金の申請を出す必要があるので忘れずに。

申請後は逐次、登録したメールに申請ステータスが届きます。

アプリ審査に合格し、無事App Storeに公開。

私の場合は約24時間で一発合格し、公開されました。

公開の方法は、アプリ申請時の設定で手動/自動が選べます。

公開アドレスをAdMobサイトに登録する → AdMob審査合格。

AdMobサイトには、App Storeの検索ページがあります。

ただ、当初私のApp名とかでは検索にヒットしませんでした。反映に時間がかかるようです。

iPhone等で見えたページのURLをコピーして入力したらヒットしました。

無事申請終了。

約3時間後にAdMobから合格の通知。(早かったです)

不具合対応とバージョンアップ。

喜びもつかの間。

実際ダウンロードして使ってみると、いくつか申請項目や動作に不具合発見!!

再ビルドすると共に、抜けてた申請の設定を修正。

バージョンアップVer1.0.1として再申請。

アプリの最終版を、無事リリース完了。

約15時間後に新バージョンとして公開される。

最後に

四苦八苦しながら進めたので、間違いや、もっと良い順番があるかもしれません。

まだまだ勉強中ですが、少しでも参考になったら幸いです。

忘れないうちにいくつかの箇所は、詳細を投稿していきたいと思います。

最後まで読んでいただき、ありがとうござました。


ご意見、ご指摘等ありましたら、コメントを残して頂けると嬉しいです。

コメント

タイトルとURLをコピーしました