2020年10月1日木曜日

Xcode12でiPhoneシミュレータがエラーで使えない件

 

Xcode12がリリースされました。

当然iOS14のシミュレータが同梱されているわけですが、実機やリリースビルドはできるのに、シミュレータではエラーになってビルドできないとお嘆きの貴兄へ(いやまぁ自分のことなんですが)。

♪♪♪

結論としては

ここを見るのだ

、では不親切なので、ちゃんと書きます。僕自身あと何本も修正しないといけないので忘れないように書いておかないとね。

各々のプロジェクトの設定によっては修正するところが違うかもしれませんが、大体こんな感じですよ、という備忘録です。

♪♪♪


環境は、MacOS Catalina10.15.17、Xcode12.0.1です。


♪♪♪


スクリーンショットを取ろうと、Xcode12のシミュレータで実行しようとするとエラーが発生しました。もちろん実機では動作します。

※エラーが出ていたモジュールはCocoapPodsで入れたものだったので、そっちを色々調べて回り道をしてしまいました。


そこで修正するのは、PROJECTのExclude Architecturesにarm64を追加します。

※シミュレータの時はarm64を除外するってことですね。あと、Build Architecture OnlyもDebugの方をYesにすることも必要かもしれません。


これで実行すると、別のエラーが。

なんだよそれ。

ここで修正するのは、User-Defined SettingからVALID_ARCHSを削除することなのですが、そのままだと削除できない?らしく、一旦追加手順ふんでから削除します(編集モードになるってこと?)。 (修正:あれ?普通に消せますね。Add User-Defined SettingsするのはUser-Defined Settingsまで飛ばすためみたいです。単に一番下までスクロールしても同じですね。)

「+」を押して、Add User-Defined Settingを選択します。

すると一番下のUser-Defined Settingに飛びます。そしてNEW_SETTINGが追加されているのが分かります。

NEW_SETTINGとVALID_ARCHSを削除キーで削除します。

もちろん、TARGETの方に値が残っていると上書きされてしまうので、そちらも削除します。

♪♪♪

これで実行すると

めでたし、めでたし。

♪♪♪

最初からXcode12で作成したプロジェクトでは起きないんでしょうね、たぶん(未確認)。

ってか、めんどくさい所に変更入れるなよApple。

いやいやそれ以前に、iOS14のリリースに1日しか余裕がないって、どんなスケジュール管理してんだよ(笑)。


ベンドの練習にぴったりですよ。