この記事を書いた過程
前回の記事同様に、ほとんどiOS開発をした事がない状態で、iOSアプリのテストのタスクが回ってきたので手順をまとめました。
僕と同じ状態の人の助けになればと思います!
今回は、プッシュ通知機能があるアプリケーションをXcodeで実機でビルドしてテストを実施しました。
(※AWS SNSを利用してプッシュ通知を飛ばします。)
前提
Xcode 12
macOS Big Sur バージョン11.2
Swift 5.1
流れはこんな感じです!
1.テスト用の証明書の発行。
2.プロビジョニングファイルの作成。
3.Xcodeで作成したプロビジョニングファイルを使用するように設定する。
4.プッシュ通知が届くように設定する。
5.実機でビルドする。
やっていく!
1.テスト用の証明書の発行
・Xcodeで [Preference] → [Account] で 開発用アカウントでログイン。
・開発者を選択して、[manage certificates]をクリック。 左下の「+」から「Apple Developement」を選択して証明書を作成。
・Developer Center にログインして、証明書をダウンロードする。
2.プロビジョニングファイルの作成
・Developer Centerにログイン(1と同じアカウント)
・[Profile] → [iOS App Development]を選択して、[Continue]
・該当のApple IDでを選択して、[Continue]
・1で作成した、証明書を選択して[Continue]
・テストで使用したいデバイスを選択する。(※新しくデバイスを登録したい場合は、上記、テスト用IOSデバイスの登録を参照)
・任意の名前を入力して、[Generate]をクリック。
・[Profile]で作成したプロビジョニングファイルを[Download]しておく。
3.Xcodeで作成したプロビジョニングファイルを使用するように設定する。
・[Project] → [Targets] → [Build Setting] → [Signing] → [Code Signing Identity]で「IOS Developer」を選択
・[Project] → [Targets] → [General] → [Singing (Debug)] の[Provisioning file]から[Download Profile]を選択。2で作成したプロビジョニングファイルを選択する。
4.プッシュ通知が届くように設定する
・[Project] → [target] → [Sigining & Capabilities] を開く
・[+Capabilities]をクリックして「Push Notification」を選択。
・[Background Modes]を選択。 → [Remote notifications]を選択。
5.実機でビルドする
・プロビジョニングファイルに登録したiphoneをPCに接続。
・ビルドする機種に接続したiphoneを設定して、[▶︎]ボタン(ビルドボタン)をクリック。
※テストする上での注意
・テストでは、開発用のプラットフォームアプリケーションを使用してプッシュ通知を飛ばす必要がある。(AWSコンソールでで確認できる。)
・使用するプラットフォームアプリケーションのプッシュ通知証明書の期限が切れていないかを確認する必要あり
→ 今回はここでハマりました。バックエンドのロジックが開発用と本番用で同じプラットフォームアプリケーションを使用するロジックになっていた為、プッシュ通知が飛ばなくて悩みました。。。
参考
○テスト用IOSデバイスの登録
https://support.smartbear.com/testcomplete/docs/app-testing/mobile/ios/preparing/registering-devices.html
○プロビジョニングファイルについて
https://qiita.com/edo_m18/items/6f10e57f95b25d9dab4e
https://qiita.com/fujisan3/items/d037e3c40a0acc46f618
https://zenn.dev/mhackit/scraps/355fe56dc7b4c8
○Bundle IDについて
https://qiita.com/miyamotok0105/items/f24a4e10a2877ae70bc4
○色々な用語の説明
https://qiita.com/toto_kit/items/df84cd687919ec28591b