Build Active Architecture Only でハマる

Build Active Architecture Only とはそのとおり、今使ってる Mac の(命令セット)アーキテクチャのみでビルドする、という設定項目。 だので Apple Silicon 上でビルドすれば arm64(だったっけ?)のみのスッキリしたプロダクトが吐き出される、と。 元々そうだったのか最近そうなったのか知りませんけど、これの Debug モードが YES になってるんですね。 Release モードが NO なのは当たり前。 そうじゃなくちゃ Universal にならないものね。

っていうか結論から言えば Xcode > Product > Archive でプロダクトを出せば、それは Release モードなので Universal になるってもんなんです。 けれど、そのまま公証を得られないような、ぶっちゃけいえばスクリーンセーバーなんていうものは、ウインドウの左ペインにあるプロダクトから直接取り出したいよねとか、もっと踏み込めばここから右クリックで一気にインストールまでしちゃいたくなる。 っていうかこさえているときは普通にそうします。 右クリックでスクリーンセーバーを直接インストールし、動作確認する、みたいな。

こういう手抜きと申しますか手軽さを身に着けてしまうと、公開用のビルドに対しても同じことをしちゃうんですよね。 すなわち、左ペインからプロダクトを Finder で表示して、それをデスクトップにコピーして公証処理をしちゃう。

でもこれ、デバッグモードのプロダクトなんで arm アーキテクチャのみなんですよね。

さっき仕事場にある Intel の Mac にそのスクリーンセーバーをインストールしたんです。 ちゃんとホームページからダウンロードしてインストール。 でも動かない。 認識はされているんだけど動かないっていう。 そりゃそうだ、arm64 アーキテクチャのみのビルドなんだもん。 っていうか公開するときに「随分と容量が減ったなぁ」って思ってはいたんですよね。 その辺アップルのマジック的ななにかしらが働いているんだろうって簡単に済ませちゃって・・・。

ということで正規の手順を踏んで Release モードのビルドを出せば済む話なんですが、そうじゃないと、そうでねぇんだと、デバッグモードからやりてぇんだっていうんだったら Build Active Architecture Only > DEbug > No にすればいいだけなんですよね。 もうそうしましたあたし。