番外編その1_個人開発プロジェクト_ビルドした時のエラー「プロビジョニングファイル」について
こんにちは!本日は、番外編と題して「githubのプロジェクトリポジトリからクローンしたコードをxcodeでビルドした時に「プロビジョニングファイルが無い」というエラーが発生」したので、その解決策についてを記事にしたいと思います。こんな事、記事にする必要ある?って思うかもしれませんが、、、いいんですよ。
今回の開発プロジェクトを進めるにあたって出てきた課題や不明点も出来るだけ記事にする「備忘録」のような使い方でもあるので。
そして、このプロジェクトが完結した時に「なるほど、こうやって進めるのか」「1から開発工程を踏むとこんな流れになるのか。こういうところに困るのか」など「開発」に興味のある方、関わる方に役立つと思います!断言します!笑
(誰に伝えているのか分かりませんが。笑)
そして、今回のような番外編はニッチな記事テーマなので、読む人を選ぶかもしれませんが、今後iOSアプリケーションを開発しようとした時に必ず出てくる要素になるので、そんな誰かの役にも立てたらと思います。
1.プロビジョニングプロファイルについて
AppleのiOSアプリを開発する際に必要なのが「プロビジョニングファイル」です。これは、簡単に記載すると「Appleが悪意のあるアプリケーション」を動作するリスクや勝手なインストールを防ぐなど、セキュリティや品質管理を高めるために必要としているファイルになります。
◾️プロビジョニングファイルの役割と必要な設定
・アプリを作るには、Apple Developer Programに登録が必要。
・プロビジョニングプロファイルがなければアプリを動作させられない。
・Appleはアプリごとに署名を付け、改ざんされていないことをチェック。
・署名がない、または不正なアプリはインストールできない仕組み。
◾️Apple Developerの登録方法
1.Apple DeveloperのCertificates, Identifiers & Profilesにアクセス
2.Certificates, Identifiers & Profilesをクリック。
3.Apple IDが必要になります。
次の見出しから必要な設定について記載します。
2.Bundle IDについて
プロビジョニングファイルはアプリの「Bundle ID」と開発者の証明書を紐付ける必要があります。
イメージとしては、アプリ毎に固有の「ID」を識別します。このIDと署名された証明書が一致して初めて、Appleから信頼されるアプリケーションとして認められるためリリースが可能になります。
例:「com.example.myapp」というIDを持つアプリが、他の未承認の開発者の証明書で動作することを防ぐ仕組みです。
下記、画像がBundle IDの設定箇所になります。「Bundle Identifiers」にアプリ名など特に指定のない名称を好きなように入力。
◾️「Automatically manage signing」について
これは「署名を自動」で行なってくれる設定です。これにチェックマークを入力してTeamを選択しておくと自動で「署名」と「証明書の発行」を行なってくれるため手間が減ります。
3.テスト時のシミュレーションについて
実はこの「Apple Developer Program」は有料なので年間99ドルの費用が発生します。必然的にリリースをすることを踏まえると、有料登録は免れないのですが、初学者や初めてアプリ開発に挑む方々は、いきなり有料登録して進めるのは実際に頓挫してしまった場合に無駄になるのではと不安が残るかと思います。モバイルアプリ開発はテストを繰り返しながら、リリースに向けて開発を進めることが多いのですが、適切に設定をしなければエラーが発生してシミュレーターが動作しません。(Xcodeの特徴として「Appleデバイス」をPCで呼び出してで開発アプリの動作をシミュレーションすることが可能)
iOSアプリは、シミュレータで動作させる場合には署名やプロビジョニングプロファイルが不要です。
◾️設定方法
1.Xcodeのターゲットデバイスを「Simulator」に設定。
2.アプリをビルド&実行。
※この方法では、物理デバイスでのテストはできません。
4.まとめ
繰り返しですが、今回は少しニッチな記事になりました。今回の設定について、色々とChat GPT使いながらも1時間程、設定に時間がかかってしまったのですが、この記事を読めば、「iOSアプリ開発およびリリース」に必要な事がなんとなく掴めると思います。