iOSアプリ開発でぶち当たるエラー処世術〜Xcode編〜


エラー処世術

アプリケーション開発を行なっていると必ずぶち当たるエラー.検索しても解決策が得られない.開発が滞ってしまい,やる気が削がれる.といったことは誰しもが経験することだと思います.
私自身もその一人で,毎日技術力不足を痛感させられます.この記事では,Xcodeで開発する際に効率よくエラーの解明を行い,圧倒的成長を遂げるための処世術を少し紹介したいと思います.

この記事の対象者

  • iOSアプリ開発を始めたての方(Xcodeでの)
  • LLDBって何?デバッガって?という方
  • 追加したUI部品(button, viwe...)が表示されない!どこいったの?という方

処世術1 〜LLDB〜

LLDBとはXcodeのデフォルトデバッガです.皆さんお馴染みの画面の下の方にいます.デバッガとは不具合の原因を探すお手伝いをしてくれる機能やソフトを指します.基本的にはプログラムを一時停止させたりしてエラーを見つけます.

上は,お馴染みのXcodeの画面ですが.画面下の部分がデバッガです.ここでは,14行目にブレークポイントを設定して,プログラムを一時停止させています.行番号をクリックするとブレークポイントを設定できます.解除は,ブレークポイントを掴んでコード上にドラッグするとできます.
デバッガの右の画面の

(lldb)

と書かれている部分にコマンドを入力することでエラーの原因を探ることができます.

po コマンド

いちばん使うことになるであろうコマンドです.poは変数を出力してくれるものです.
例えば,以下のように,19行目にブレークポイントを設定した場合.

po lemon

と入力すると,その時点での変数の値を確認することができます.
この例だとパッとしませんがいつか役に立つと思います.

処世術2 〜UI部品どこ??〜

追加したはずのbuttonがシミュレーションを起動すると消えている..どこいったの?コードミスってる?なんて経験あると思います.これは案外簡単なミスであることがほとんどです.ただ慣れないうちは,なぜ無いのか原因を解明するのに時間がかかってしまいがちです.(その時間も成長に繋がる気もしますが,無いに越したことは無いでしょう.)
この問題の対処法のうちの1つを紹介します.

Xcodeの隠れた機能 〜ビューデバッガ〜

ビューデバッガとは,現在のビュー階層を3Dで確認することができる機能です.
シミュレーターを起動しているときに,

ここをクリックすることで,確認することができます.

こんな感じで.
この例だと,あまりビューデバッガに恩恵を感じませんが,大規模なアプリになる程利用する機会は多くなると思います.
この機能を使えば,追加したUI部品がどこにあるのか,他のUI部品の下に隠れていないかなどを確認することができます.
「ビューデバッガのおかげで迷子になっていたUI部品を探し出し,救出することができた!」ということが結構あります.

おわりに

「アドベントカレンダーかぁ、何書こう.」
ギリギリまでテーマが決まらず投稿が遅れてしまいました.個人的に辛いこともあり,記事を書かずに逃げ出そうかという考えもよぎりました.最初は義務感で書き始めましたが,良い気分転換になり,悩んでいたことも少し気が楽になった気がします.定期的なアウトプットって大事だなあと実感しました.(Qiitaさん,パソナテックさんありがとう!)

今回,iOSアプリ開発を始めた時に知っておきたかったことを書きました.私もまだまだ初心者なので,間違いがあれば指摘してください.よろしくお願いします.自分の成長に合わせて内容もどんどん更新していくつもりです.そして,この記事が悩みを抱えていた方の助けになれば幸いです.