Visual Studio For MACにてiOS Ad Hoc用IPAファイルを作成する2023.11月編

Visual Studio For MACにて、iOSアプリのテスト配布用にAd Hoc用.ipaファイルを作成する手順は、Microsoftのオンラインヘルプに記載されていますが、Apple Developer ページとVisual Studioのキャプチャや説明が古く、説明の足りずよく分かりません。そこで2023.11月編としてまとめなおしました。

Apple や Windows のこの手の仕組みの説明は、システムフロー的なものが無いからでは? まず全体像をこんな感じまとめてみました。

注意点はBuildするMAC毎に証明書が異なる点です。これは別記事にて解説いたします。

今回の説明の条件は以下のとおりです。Apple Developerへの加入も必須です。

MAC book2015 earlyMAC OS 12.6.5
Visual Studio 2019 for MAC8.10.25 build2
Xcode14.1
iPhoneiPhone 8 / iOS 16.7.1デベロッパーモードON

Apple Developerページにて、アプリ名とID( バンドルID )の登録も済ませておきます。

Apple Developerページのトップページにて、一番下にスクロールし、「Certificates, IDs, & Profiles(英語)」を選択します。

Certificates」を選択し、「+」をクリックします。

iOS Distribution (App Store and Ad Hoc)」を選択します。(左下図、もしかすると Apple Distribution の方かも) 証明書要求ファイル を選択ページに移ります。(右下図)

証明書要求ファイルは、MAC Bookの「キーチェーンアクセスツール」で以下のように作成します。拡張子は、.certSigningRequest です。

証明書要求ファイルにローカルディスクに保存後(左下図)、ブラウザ上のApple Developerページに戻り 、「Choose file」を選択し、証明書要求ファイルを選択します。(右下図)

Apple Developerページに証明書要求ファイルがUploadされたら「Continue」を押します。(左下図) 右下図のページに移れば証明書ができました。証明書ファイル(.cer) は、Visual Studio側が自動ダウンロードするため 、 当ページでダウンロードは不要です。

Certificates, IDs, & Profiles」のトップページに戻り、「Certificates」を選択すると生成された証明書が確認できます。

画像に alt 属性が指定されていません。ファイル名: ipa_12-1024x322.png

アプリの設定 「Identifiers」は以下のように「App Attest」に変更します。

「プロビジョニング プロファイル」とは何か難しそうでに取っつきにくい感じですが、「アプリ、証明書、テスト端末を紐付けたもの」といったニュアンスかと思います。これが Visual Studio に読ませるのもになります。「Certificates, IDs, & Profiles」のトップページに戻り、「Profile」を選択します。(左下図) する。次に「Ad Hoc」を選択し、「Continue」をクリックします。(右下図)

次に「APP ID」に登録しているアプリのプルダウンメニューにリスト表示されるので、対象のアプリを選択し、「Continue」をクリックします。(下図) 「Offline support」はよくわかりません。デフォルト「No」のままで進めてみます。

次に「Select Certificates」エリアに生成した証明書がリストされるます。その中から「Distribution」の方を選択し、「Continue」をクリックします。(下図) 「iOS Distribution」の方かと思いきや、こちらを選択すると Visual Studio側の iOS のプロジェクトオプション「ビルト」->「iOSバンドル署名」->「プロビジョニング プロファイル」にて、「プロビジョニング プロファイルが見つかりません」と表示され、同ファイルの選択ができませんでした。

次に「Select Devices」エリアに、Apple Developerアカウントに紐づけられた iPhone がリストされます。なおこのページはTestFlight時には表示されません。Select All」か 「XXXのiPhone」「iPhone (XXX)」 それぞれを選択し、「Continue」をクリックします。(下図) Apple Developerアカウントと iPhone の紐付けは、正式なApple Developerページで行うようですが、Xcode で iPhone に一度接続すると自動で登録されるようです。

次に「Provisioning Profile Name」の欄に名称を指定し、「Generate」をクリックします。(左下図) プロビジョニング プロファイルが生成され、右下図のページに移ります。 生成されたプはVisual Studio (Xamarin)内でダウンロードされるため、このページで「Download」の操作は不要です。

5.IPAファイルの作成

操作を Visual Studio For Mac に移します。メニューバー「Visual Studio」-> 「ユーザ設定」-> 「発行」-> 「Apple Developerのアカウント」を開きます。(ここではアカウントは追加済みであることを前提に説明します) 「証明書の表示」をクリックします。(下図)

次に「すべてのプロファイルのダウンロード」をクリックします。(下図) 「証明書」と「プロビジョニング プロファイル」一覧表に、追加した 証明書 と プロビジョニング プロファイル が表示されます。

ユーザ設定の画面を閉じて、左側のツリーからiOSプロジェクトを開き、info.plist をダブルクリックして開きます。プロパティ「ハンドル識別子」の値の欄に、Apple Developerページで割当てた APP ID を指定します。

info.plist のウインドウの下端から、「アプリケーション」のタブを開き、インストール後のアイコンを指定します。これ指定しないとビルドエラーになってしまいます。png形式で「1x」の方は 512 x 512 dot、「2x」の方は 1024 x 1024 dot を割当てます。お試しで弊方は大きな✖としています。そしてinfo.plist を閉じます。

次に、左側のツリーからiOSプロジェクトを選択し、メニューバー「プロジェクト」->「オプション」を選択します。オプション画面から「ビルド」->「iOSハンドル署名」を開きます。「署名ID:」から「配布(自動)」を選び、「プロビジョニング プロファイル:」にて「アドホック(自動)」を選択し、「OK」を押します。

【補足】MicrosofrのXmarinの公式ドキュメントには、 「Ad Hoc」という ビルド構成 が掲載されていますが、古い Visual Studio の仕様のようです。2019では「Debug」構成のまま内容を Ad Hoc に設定し直しました。「Ad Hoc」で ビルド構成 を追加しても、ビルド時に指定できませんでした。

次にオプション画面から「ビルド」->「iOS IPAオプション」を開きます。「iTunes Package Active (IPA)をビルドする」にチェックを入れて「OK」を押します。

次にメニューバー「プロジェクト」->「スタートアップ プロジェクトの設定」を選択し(次図)、iOSをデフォルトのビルト構成に設定します。(次々図)

次にメニューバー「プロジェクト」->「ビルド」-> 「公開のためアーカイブ」を選択します。(次図)

ビルドが完了するとアーカイブのウインドウが開きます。「署名と配布」を押します。

後は下図のように順当に選択していきます。

ファインダーでファイルを確認します。ファイル種「iOSパッケージアーカイブ」となっていますね。

IPAファイルのインストール方法は色々あるようですが、Android や Windows 的な発想であれば、これを実機上にコピーすればインストールできるはず???

試しに .ipa ファイルを iPhone に転送して開いてみます。

ipaの形式もapkと同じくzipらしいので、リネームして解凍してみます。

.app ファイルがでてきました。これを開いみると、、、

なんとiOS自体はインストール機能を持っていない!? ipa用にiTunesをセットアップに続きます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です