今回は、iOSアプリを久しぶりにバージョンアップしようとしたときに発生した事象です。
本人の勘違いというか、仕組みを詳しく理解できていないが故の失敗談みたいなものでしょうか、お恥ずかしい限りですが・・・(汗)
出現したエラーメッセージ
Xcode上部にある[scheme]メニューで、Any iOS Device(arm64)を選択して、[Run]ボタンを押下すると、下記メッセージが表示されました。
あれ?
以前はこんなの出なかったし、初めてのエラーメッセージだなと思い、いろいろトラブルシューティングしてみることにしました。

エラーメッセージを和訳
まずは上部のメインメッセージを和訳してみます。
A build only device cannot be used to run this target.
ビルド専用デバイスを使用してこのターゲットを実行することはできません
分かったような、分からないような・・
次に下部のメッセージを和訳してみます。
Please select an available device or choose a simulated device as the destination.
利用可能なデバイスを選択するか、宛先としてシミュレートされたデバイスを選択してください
その他の現象は?
メッセージに”利用可能なデバイスを選択をするか“とあるので、Any iOS Device(arm64)とは違う、例えば、iPhone15のiOSシミューレータを選択してみました。
結果:ビルドが正常に終了し、シミュレータが立ち上がった
そしてもう一つ、実機テストが出来るかどうかも確認するために、Mac BookにiPhoneを繋いでビルドしてみました。
結果:ビルドが正常に終了し、実機に開発用アプリが正しくインストール
つまり、Any iOS Device(arm64)のみに異常がありそうです。
他のWebサイトでは”シミュレータがビルド出来ない”のエラーについての記事は沢山上がってましたが、Any iOS Device(arm64)については無かったですね。
<補足> arm64とは?
arm64とは、CPUアーキテクチャの種類。arm社。
iPhone端末ではarmが使われていて、iPhone5s~iPhone(最新)までarm64が使われています。
数字の64は64bitの意味ですね。
つまり、Any iOS Device(arm64)は、iPhone5s~iPhone(最新)に対応した表記になります。

前回との相違点は?
次に、前回大丈夫だった時から、現在エラーが出る状況までに行ったことを思い出してみました。
実はこの間、情報処理技術者試験の勉強に集中してて、10日くらいXcodeを触ってなかったんですね。
そして、久々に立ち上げたらバーションアップしなさいとのメッセージが出てたので対応しました。
つまり、XcodeとmacOSのバージョンは最新になっています。
でも最新の状況でエラーが出るのはちょっと考えられないのですが・・・。
Xcodeのバーション:Version 15.2
<確認方法> [XCode](メニュー左上)- [About Xcode]

macOSのバーション:sonoma 14.2.1
<確認方法> [🍎マーク](メニュー左上)- [このMacについて]

もう25年以上、Windows一本でやってきた自分には、macのこういう基本処理すら知らなかったり、慣れてなかったりします。大変です。
解決のためにやったこと
ちょっとお手上げ状態になってしまったので、Appleにメールで問い合わせです。
Apple Supportに問い合わせ
現象などを詳しく書いて、Apple Developer Program Supportへ。
メール本文には”1営業日中(つまり明日)にご連絡します”とありましたが、気長に待つことにします。
営業日とは「営業している日(休業日は計算に入れない)」そして、当日は含めない。これが基本となります。
メールは約3時間後に帰ってきました!
しかし、今回の問い合わせがどちらかと言うとXcodeに関する内容だったために、Apple Developer Supportの窓口では対応しかねると言った内容。
Xcodeガイドのページや、Forumsの案内を頂いて、なにも進展もないまま終了となりました。チーン。
これは、ドツボにハマったかと思われましたが・・・
もう一度、エラー確認してみる
Xcode上部にある[scheme]メニューで、Any iOS Device(arm64)を選択してみると、以前と少し様子が違うことに気が付きました。
以前は、選択した状態でも上記エラーメッセージが出ることがあったのが、今回は表示されません。
自然解決か?と思った時に、さらに、以前自分が作成した下記ページを見てみると、
App Storeにアップロードするには、Any iOS Device(arm64)を実行じゃなくて、Archives(アーカイブ)でした。
そして、Archivesは問題なく実行可能。無事にApp Storeにアップロードできました。
【解決策】ビルドではなくて、アーカイブでした
以前は、Xcode上部にある[scheme]メニューで、Any iOS Device(arm64)を選択して、[Run]ボタンを押下しても、上記のようなエラーメッセージは見たことがありませんでした。
それが、少し混乱を招いてしまったのかもしれません(汗)
Xcodeの仕組み等をちゃんと分かっていれば、そこまで混乱しないんでしょうけど。
何事も経験ですね。
でも、今までは今回と同じような動作をしてもエラーメッセージは出なかったと思うんだけどな?という気持ち悪さは拭えませんが・・・。深堀は禁物という事で。

コメント