nFact

n!

iOS Simulatorでアプリが起動出来なくなったのはLLDBが原因だった

タイトルまんまです。

2015/1/22追記 注意!この記事の内容はとても古くなっています.

f:id:noko_k:20131030235639p:plain

この時発生する現象は、
* Xcodeの画面上では「Running アプリ名」と出る
* iOS Simulatorが起動するがアクティブにならずアプリがインストール、起動されない
* iOS Simulatorのメニューにあるコンテンツと設定のリセットをしても状況変わらず
* ~/Library/Application Support/iPhone Simulator以下すべて削除しても状況変わらず
* gitでその現象が発生する前までプロジェクトのファイルを遡ってもダメ
* たまに「Appをインストールできませんでした」や、「SpringBoardはAppを起動できませんでした エラー:-3」と出る

ググってもどこもかしこもiPhone Simulatorディレクトリ以下を全部削除しろ!としか書いてなく、
しかもそれで解決しちゃってるので困ってたが、

デバッガであるLLDBを使用しない設定にしたらあっさり起動。
俺の2日間は何だったのか...


以下はデバッガの変更方法。

1.

f:id:noko_k:20131030235752p:plain

左上のRun、Stopボタンの隣にあるアプリ名をクリックしてEdit Schemeを選択

2.

f:id:noko_k:20131030235757p:plain

左のリストからRun 〜をクリックして選択する

3.

f:id:noko_k:20131030235804p:plain

真ん中の方にあるDebuggerをLLDBからNoneに変更してOKで閉じる

4.

f:id:noko_k:20131030235810p:plain

あとはプロジェクトをクリーン、ビルドすれば何事も無かったかのように起動する

unrecognized selector sent to instanceの対処法

初めて画像の投稿をしてみる。

f:id:noko_k:20130808150532p:plain

unrecognized selector sent to instanceエラー
これはメソッドを呼び出そうとしたが無くて落ちたということ

これはどういう時に起きるかというと、

f:id:noko_k:20130808150753p:plain

この場合、タップされた時※1ModalViewControllerlabelChangeButtonTappedというメソッドが呼ばれるようになっているが、

このlabelChaneButtonTappedというメソッドがModalViewController.hにもModalViewController.mにも記述されてないときに起きる。

これの厄介なところはコンパイルは成功し実際に動かしてみないとわからないという所。

f:id:noko_k:20130808151724p:plain

このように変更すれば解決出来る。

※1厳密には、Touch up insideは指が離れた瞬間である