このチュートリアルはiOSチュートリアルメンバーの Matthijs Hollemans 氏によって執筆されました。氏はiOSデベロッパー、デザイナーとして活躍しています。興味のある方はGoogle+ and Twitterへどうぞ。 ある薄暗い雨の夕刻、楽しくアプリ開発に尽力していた貴方に突然の出来事が、、、ボンッ、 「あぁぁぁーーーーークラッシュしたぁーーーーー!!!」(悲しいバイオリンの音) ここで貴方の取る行動は…: まず、落ち着いてください! クラッシュを修正する事は決して難しい事ではありません。ここで焦ってランダムに修正を試みる事は事態を悪化させるだけです。必要な事はクラッシュを通してその原因を学び、正しいアプローチで修正して行く事です。 まず何よりも、どのファイルのどのコードがクラッシュを引き起こしたのかを探る必要があります: そんな時、Xcodeデバッガが強い味方となります。しかしまず始めに、Xcodeデバッガの利用方法をきちんと学ぶ必要があるのです。このチュートリアルではそこの所を解説して行きますね。 このチュートリアルは全ての開発者、初心者から上級者の為にご用意させていただきました。たとえ貴方が経験豊かな開発者であったとしても、今まで貴方の知らなかったヒントが隠されているかもしれません。 始めましょう! 始めに今回のチュートリアルで使用するサンプルプロジェクトをダウンロードしてください。Xcodeでプロジェクトを開くと、少なくとも8個の警告が出ているのが分かりますね。あっ、それと今回のチュートリアルではXcode 4.3を使用しています。しかしバージョン 4.2でも大丈夫です。 Note: このチュートリアルの解説ではアプリをiOS 5のシミュレーターで使用する必要があります。もしこのアプリを実機で動かしても、やっぱりクラッシュします。しかしもしかしたら同じ順序でクラッシュが起こるとは限りません。 それではアプリを起動させて、何が起こるか見てみましょう。 「おいおい、クラッシュしちまったぜ!」:-] 基本的にはクラッシュには2種類あります:SIGBART(EXC_CRASH)とEXC_BAD_ACCESS(SIGBUSもしくはSIGSEGV)です。 クラッシュが起こる上でSIGBARTは良い奴です。と言うのも、コントロールされたクラッシュだからです。つまりプログラムの中でやっちゃ行けない事をやった場合、システムがコントロールしてアプリを停止させるんです。 一方、EXC_BAD_ACCESS。こいつはデバッグするのが少し厄介な奴です。何故なら、これはアプリがエラーを起こした時のみ発生する為です。大抵の場合はメモリ管理が原因で引き起こされます。 さてプロジェクトを見てみると、最初のクラッシュはSIGBARTですね。これはツイてますね。SIGBARTはXcodeのデバッグアウトプットウインドウ(右下の表示領域)にメッセージが表示されます。今回の場合は以下のように表示されるはずです: Problems[14465:f803] -[UINavigationController setList:]: unrecognized…
アプリがクラッシュしちゃった。さて、どうしましょう- Part 1 is a post from: Ray Wenderlich
The post アプリがクラッシュしちゃった。さて、どうしましょう- Part 1 appeared first on Ray Wenderlich.