意図的にクラッシュさせる(Objective-c)
通常Xcodeで実行すれば、ブレイクポイントを作成すれば、必要ないのだけど、
アプリがバックグラウンドにない状態の時に、URL schema(ディープリンク)などでアプリを起動させた時の挙動を確認したい時がありました。
この場合、Xcodeでの実行はできません。
考えた末、意図的にクラッシュするコードを埋め込み、そこまで到着しているか確認するというとこにたどり着きました。
以下のコードでクラッシュさせます。
assert( [@"a" isEqualToString:@"b"]);
assertの引数がTrueでなければ、クラッシュするようになりました。
こんな使い方もできます。
# variable_objがnilの場合はクラッシュさせる
assert(variable_obj != nil);
もっとスマートなデバッグ方法があれば教えてください・・