前回記事にて、MAC OS14 / Xcode 15 / Visual Studio 2022 for MAC で、iOS17対応でXamarinアプリのBuild / TestFlight までできることを確認しました。’24.4月の事です。
しかし諸事情で MAC を再初期化しました。その後、iOSプラットフォームで以下のように現在’24.7月 Build が通らなくなりました。
エラーは、The type or namespace naname interface名 could not be found (a you missging a using directive or un asssmbly reference? ) (CS00246)
Xamarinで 各固有処理を作る場合、プラットフォーム共通部で interface を定義し、各OS固有部側で interface名で、固有部処理クラスを継承します。その interface 名 が未定義だと言われてます。どう見ても合っています。同じコードでVS2019 for MACでは通ります。Xcode側の影響でしょうか??? VS2022 For MAC のサポート終了直前で手間の掛かりすぎるApple対応で心が砕けてしまったのでしょうか?
解決策は、VS2022 Windows でビルトすることでした。
しかし、TestFlight も Windows側で、buildする必要があります。以下のポイントがありました。VS2019から大分進化しているようです。
(1) 基本Build
先に MAC に iPhone を接続して双方で「信頼」し、その後、VS側でMAC接続します。そうしないとVS側で iPhone を認識しない場合があります。 未認識では 「Keyがnullです」みたいなbuildエラーが出てしまいます。
ビルトがずっと終わらないのでMAC側をみてみると、パスワード入力待ちになってました。これを入力するとすすみます。パスワードはMAC本体の方です。
(2) iPhoneでのテスト
デプロイ メニューで行います。
(3) TestFlightのBuild
TesFlight 用にBuildするには、MAC側の証明書、プロビショニングプロファイル が必要です。MAC側の証明書をExportします。その手順はこちら。ここでExport時には必ずパスワードをかけます。これはVS2022側が必ずパスワードを要求してくるためです。
VS2022から [ツール] -> {オプション] -> [Xamarin] -> [Appleアカウント} を開き。チーム一覧から自分のチームを選んで[詳細の表示] を選びます。以下のように詳細画面から[証明書のインポート]を選びます。尚、コントロールパネルの証明書からimportしても効かなかったです。 いちおう[すべてのプロファイルをダウンロード]も実施しておきます。
プロビショニングプロファイルは、注意が2点ありました。
- Windows用VS2022の特有機能と思われる「自動プロビショニング」は、既にMAC側でプロビショニングプロファイルを作っていた場合は使いません。
- adHoc用のプロビショニングプロファイルを作っていると自動認識でそちらが優先されてしまうようです。adHoc用はApple Developr WEBページから削除しておく。
iOSプロジェクトのプロパティの[iOSハンドル署名]の設定例は以下の通りです。ただし以下問題発生1の事象が発生した場合は、署名ID と プロビショニングプロファイル は任意に選択にします。
TestFlight の IPA を生成するには、[ビルド] -> [アーカイブ]を選びます。後は以下のような流れです。
MAC側で、MAC側のパスワードを入力。’24.11月時点では以下問題発生2を注意です。
しかし App Store へのuploadは失敗しました。
IPAファイルはWindows側に生成させるので、IPAをMAC Book にコピーして、Transfar アプリ で upload は Ok でした。 オチはありますが、操作性最悪MACを触る量が減ったのでヨカッタです。
問題発生1
‘24.11月 VS2022からapple developer に接続できない事象が発生しています。apple developer のWEBページはログインできます。
これだと新しい証明書のダウンロードができないです。MSのページに以下の個別のアカウントのほうで可能との情報あり。
こちらは、発行者ID、キーID、秘密キー が必要です。その発行のために App Store Connect に行くと、手順説明にある「キータブ」がありません。他WEB記事をみると昔はあったみたいです。
Apple Deceloper側に「キー」という項目があり、こちらて発行してみくましたがエラーになってしまいます。こっちに移ったわけではないみたいです。
XcodeはApple Developerへアクセスできるので、Apple側でVisual Studioからの接続が禁止されてしまったのでしょうか? 継続調査中です。
問題発生2
アプリ固有のパスワードは、Apple Developer のパスワードでは通らなくなりました。アプリ用パスワードを別途発行する必要がありました。Apple Accountの設定からログインし、以下のように発行します。アプリ単位で発行するというわけではないようですので、アプリの設定を探しても機能が見つかりません。