MAC Book 2015 の Xamarin iOS プロジェクトを、MAC Mini 2018 に移したところ、TestFlight で Build できたが App Store のアップロードで失敗しました。
他の方の Xcode でのWEB記事を拝見すると、移行前の MAC と、移行後の MAC の両方の プロビショニングプロファイル が必要みたいですね。 Xamarin でも同様でしょう。バンドルID を新しく生成して、新規プロジェクトとすれば簡単そうですが、リリース途上のアプリの場合、この問題を解決するしかなさそうです。
注意事項: MAC毎に証明書を生成する仕様は、’24.7月現在は無くなったのかしれません。同じ手順を採ると移行先MACの証明書にはマシン名が付与されませんでした。ついでに移行先MAC用に作ったプロビショニングプロファイルも認識されなくなりました。現在調査中です。もしも本当にApple側の仕様がかわったのならAppleはなんてひどい。Appleは開発者側への悪影響を考えないのでしょうか?
移行前MACの証明書をExportする
アプリに紐づく証明書は複数あります。どれが何の役割か、個人名と組織名で何故2つできているのか、理解していません。
- Apple Development :個人名
- Apple Distrburtion :組織名
- Developer ID Installer :組織名
- Developer ID Application :組織名
キーチェーンツール を開くと沢山あって何がどれなのかわかりません。自分の証明書のタブを選んで、無効なた証明書は掃除をした方がよいです。
対象の4つの証明書が見極められたら、キーチェーンツール にて .p12 ファイルにExportします。他WEB記事では、証明書そのもの.cer ファイルではダメと記載されていました。試したところ確かにそうでした。証明書一つについての手順は以下のとおりでした。
移行後のMACで証明書をImportする
p12 ファイルを 移行先MAC にコピーして、キーチェーンツール にのメニュー ファイル -> 読み込む を選択します。ファイル選択ダイアログから p12 ファイルを選択します。以下、5つの証明書の Import 途中の状態ですが、見た目、importしたのがどちらか分かりません。証明書をダブルクリックで開いて、タイムスタンプで違いを確認するしかないようです。
もしも読込が無反応な場合は、ツリーの「システム」を右クリックして「…ロック解除」をおこなってみてください。
VS2022 for MAC の認識状況
VS2022 for MAC で、ユーザ設定 -> Apple Developer アカウント -> 詳細表示 を開き、証明書の認識状況を確認します。「キーチェーンがない」がきえました。証明書はMAC 2台分で8個です。
TestFlgiht のバンドル設定も「配布(自動)」「App Store(自動)」となり、ビルド後、App Store にアップロードできました。
しかし、Ad Hoc の方はうまくいきません。自動は選択できるようになったものの、ビルドすると「自動はありません」と蹴られてしまいます。こちらは重要でないのでボチボチで、、、