Xamarin.iOS, Error: Could not find any available provisioning profiles for iOS. の対処方法


Xamarin.iOS の iPhone などのアプリでキーチェーンにアクセスしようとしたら以下のエラーメッセージが表示されました。

Error: Could not find any available provisioning profiles for iOS.

これは、info.plist に適切なプロビジョニングの設定がされていないことが原因です。

私は Apple Developer Program にまだ参加していないので分かりませんが、通常はプログラムに参加していて info.plist で「自動プロビジョニング」が設定されていれば起きないのだと思います。

残念ながらプログラムにまだ参加していない場合は、一手間かける必要があります。

まず、Xcode を立ち上げて適当なプロジェクトを開きます。

そして、プロジェクトのプロパティを開き、General >> Identity >> Bundle Identifier に Xamarin.iOS で使用している「バンドル識別子」と同じものを入力します。また、Team に自分の Apple ID を設定すると、自動的に設定が行われます。

f:id:fnyablog:20180913202419p:plain

この状態で Visual Studo に戻って、info.plist の 署名で「手動プロビジョニング」を選択し、「Bundle Signing Options ...」をクリックします。

f:id:fnyablog:20180913203501p:plain

「iOS バンドル署名」メニューを選択し、適切な「署名ID」と「プロビジョニングプロファイル」を設定します。

f:id:fnyablog:20180913203430p:plain

これでビルドおよび実行すれば、エラーは解消します。