iOS Simulatorでアプリが起動出来なくなったのはLLDBが原因だった
タイトルまんまです。
2015/1/22追記 注意!この記事の内容はとても古くなっています.
この時発生する現象は、
* Xcodeの画面上では「Running アプリ名」と出る
* iOS Simulatorが起動するがアクティブにならずアプリがインストール、起動されない
* iOS Simulatorのメニューにあるコンテンツと設定のリセットをしても状況変わらず
* ~/Library/Application Support/iPhone Simulator
以下すべて削除しても状況変わらず
* gitでその現象が発生する前までプロジェクトのファイルを遡ってもダメ
* たまに「Appをインストールできませんでした」や、「SpringBoardはAppを起動できませんでした エラー:-3」と出る
ググってもどこもかしこもiPhone Simulatorディレクトリ以下を全部削除しろ!としか書いてなく、
しかもそれで解決しちゃってるので困ってたが、
デバッガであるLLDBを使用しない設定にしたらあっさり起動。
俺の2日間は何だったのか...
以下はデバッガの変更方法。
1.
左上のRun、Stopボタンの隣にあるアプリ名をクリックしてEdit Schemeを選択
2.
左のリストからRun 〜をクリックして選択する
3.
真ん中の方にあるDebuggerをLLDBからNoneに変更してOKで閉じる
4.
あとはプロジェクトをクリーン、ビルドすれば何事も無かったかのように起動する
unrecognized selector sent to instanceの対処法
初めて画像の投稿をしてみる。
unrecognized selector sent to instanceエラー
これはメソッドを呼び出そうとしたが無くて落ちたということ
これはどういう時に起きるかというと、
この場合、タップされた時※1ModalViewController
のlabelChangeButtonTapped
というメソッドが呼ばれるようになっているが、
このlabelChaneButtonTapped
というメソッドがModalViewController.h
にもModalViewController.m
にも記述されてないときに起きる。
これの厄介なところはコンパイルは成功し実際に動かしてみないとわからないという所。
このように変更すれば解決出来る。
※1厳密には、Touch up insideは指が離れた瞬間である