これはIMPL Advent Calendar 2022の15日目(1日遅れ)のエントリです。
インプルの知花です。
自作またはクローンで持ってきたアプリをAppleDeveloperProgramに登録せずに実機ビルドする方法をまとめました。
目標
実機上でアプリの動作確認をする。
環境
- OS
macOS Monterey 12.3 - Xcode 13.4.1
- Swift 5.6.1
XcodeにAppleIDの登録
Macで開発を進めるにあたってAppleIDは持っていると思うので、AppleIDの作成手順は省きます。
まずは、「Xcode」→「Preferences…」をクリックします。

以下の画面が表示されるので、「Accounts」タブを選択し、左下の「+」アイコンをクリックします。

以下の画面が表示のように、追加するアカウントタイプの選択肢が表示されるので「AppleID」を選択して「Continue」をクリックします。

以下の画面が表示されるので、「AppleID」欄にAppleIDを「Password」欄にPasswordを入力し、「Next」をクリック※します。
※2段階認証を設定している場合は、「Next」クリック後に認証コードを求められます。

以下の画面のように、登録したAppleIDアカウントが表示されますので、
右下の「Manage Certificates…」をクリックします。

実機で検証したい場合は、プロビジョニングプロファイルが必要となりますので開発者アカウントに紐づいたプロビジョニングプロファイルを作成します。
以下の画面のように、左下の「+」→「Apple Development」を選択することで自身の開発用端末の証明書が作成できます。
証明書が作成できたら「Done」をクリックします。

チームの設定
プロジェクションナビゲーター上の一番上にある青色のプロジェクトアイコンをクリックします。

以下の画面のように「Signing & Capabilities」タブを選択し、「Team」欄に設定したAppleIDを設定します。
この時、クローンアプリで「Associated Domains」と「Push Notifiactions」がある場合は、ゴミ箱アイコンをクリックし削除しておきます。
こちらは、AppleDeveloperProgramによる証明書がないと使用できないため、今回の場合ではエラーとなってしまいます。
※クローンアプリ内のファイルの中身が書き変わってしまうので変更した場合は間違ってもクローン元のファイルにコミット等はしないようにしましょう。

また以下の画面ように「Failed to register bundle identifier」とエラーが生じている場合は、
「Bundle Identifier」が重複しているため一意の名称にする必要があります。
ですので、一意な名称にするため末に日付などを加えて「Try Again」をクリックします。
※クローンアプリ内のファイルの中身が書き変わってしまうので変更した場合は間違ってもクローン元のファイルにコミット等はしないようにしましょう。

Macと端末の接続
端末とMacをケーブルで接続します。初回接続では以下の画面のようなダイアログが端末側に表示されると思いますので「信頼」をクリックします。

登録が完了すると以下の画面のように接続した端末が表示されるので選択しましょう。

あとは、シミュレータでビルドする時と同じ操作をすれば端末側にアプリがインストールが行われ操作することが出来ます。
感想
初めて、クローンアプリの実機ビルドを試みた際に色々とエラーで詰まっていたので今回は、
その経験の整理も兼ねて投稿してみました。