Xcode 13.4.1 の Debug Areaに何も表示されません
以前から興味はあったのですが、仕事でWindows PCを使用している関係からMac OSは敬遠していました。
しかし、iPhoneのアプリケーションを開発したくて、初めてAppleのMacBook Air M1を購入しました。
実際に使ってみるとかなりWindowsとは違っていて、キーボードやアプリケーションの起動・終了、日本語入力時の予測、DELキーが無いなどなど、のちょっとした違いに戸惑うことも多いのですが、概ね使い易くて良いなと感じてます。
前置きはこれぐらいにして、iPhoneのアプリケーションを開発するために、以下の本を購入しました。
Xcode 13対応のバージョンを購入すれば良かったのだけど、Xcode 12対応の本だったので、途中の説明で躓いてしまいました。
プログラムのデバッグをする上で、Debug Previewの機能は必須だと思うのですが、コードの中にprint文を記述してもDebug Areaに何も表示されません。
上記の本のPointに、「Xcode12の[Debug Preview]は正常に機能しません。のちのバージョンアップで不具合が解消されるはずですので、本書では正常に動く前提で解説します。正常に出力されない場合は、シミュレータで動作確認をお願いします。」と記述されています。
色々調べてみたのですが今一つ該当しそうになく、結局シミュレータで表示させることはできたので、それを記録しておきます。
バージョン
mac OS
MacBook Air M1のmac OSのバージョンは、Monterey 12.4でした。
Xcode
前述の参考本に従って、Xcodeを導入しました。
2022年5月にXcodeを導入したのですが、導入されたバージョンは 13.4.1 でした。
どうしても導入した時期にバージョンが依存してしまうのは仕方がないですが、参考本とバージョンが違うのはちょっと困り物です。(T T)
こういう参考本を購入するのなら、やはり最新版が良かったです。
Simulator
最終的にシミュレータでDebug Areaに表示することが出来たのですが、シミュレータのバージョンも同じ 13.4.1 でした。
とりあえず調べました
Webでググると、結構Debug Areaに表示されないという情報がヒットします。
しかし、Xcode 13 ということでは、ピッタリのものがありません。
次のように、全く同じような問題を経験されている方もいるのですが、やはりバージョンが違うのと、私の場合は (lldb) すら出てきません。
ログインシェル
次のページも該当しそうなのですが、「(couldn't create a ClangImporter) Cannot create Swift scratch contextと表示され」という現象は出ていません。
このページを参考に、Xcodeが参照しているShellのパスを確認しようとしたのですが、どこに設定されているのか分かりませんでした。
システム環境設定→ユーザーとグループ→(ロックを解除)→ユーザーを右クリックして詳細オプション→ログインシェル と確認すると、「/bin/zsh」になっています。
Finderで確認すると、「/bin/zsh」は存在していました。
/usr/local/bin/zsh となっていると書かれていますが、mac OSのバージョンのせいでしょうか /bin/zsh で問題ないのかなと、取り敢えず判断しました。
$PATH
次のページでは、環境変数の設定を変えたらと書かれているようです。
そこで、$PATH環境変数をターミナルで確認してみました。
echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
/bin のハスが入っているので、これも問題ないと判断しました。
シミュレーダだと表示されました
結局、色々やっているうちに、メニューのProductからRunを実行したのか、シミュレータを起動していました。
そこで、下記の画面の左側のシミュレータの方で動かしてみると、printの内容がDebug Areaに表示されました。
分からないメッセージが続いて出てきましたが、取り敢えずこれでデバッグは出来そうです。
忘れないうちに、プログに記録しておこうと思いました。
しかし、これから勉強していけば、別の解決策が見つかるかもしれません。
その時には更新したいと思います。