storyboardのデバッグ方法
viewとして呼び出したけど、表示されずに何か落ちてしまう。
しかし、storyboardのSIGABRTがらみは、他人に聴くのはタブーな感じです。
問題としては、部品のpropertyの対応付けがうまくいっていないケースがほとんどですが、
それでもダメな場合もあります。心が折れますね。
今回の場合、iOS8では落ちないけど、iOS7だとなぜか落ちるというひどい状況でした。
デバッグなのですが、どの部品に問題があるか、消去しつつ1つずつ消しながら確認をします。
が、ここで重要なのが、それだけではダメだということ。
storyboardがうまく動作した場合に、viewDidLoadが読み込まれるので、これを利用します。
つまり、viewDidLoadの先頭にbreakpointをつけましょう。
これで、後は地道にやっていくだけです。
部品の問題が特定できれば、そこを見て行きましょう。それでも究明までは大変でしたが。
今回、constraintにuser define runtime attributeで値がセットされていたがために、
iOS7で落ちてしまいました。ちなみに設定したのは私ではなく、他の開発者です。
こういったことはよくありがちなのですが、他人のバグを究明するのは、わかっていても
なかなか骨が折れるものです。
参考:iOS8ではconstraintにuser define runtime attributeに値を設定しても落ちないが、iOS7では落ちる
by ddrer-yossi | 2015-01-06 02:08 | その他