- WebエンジニアのためのiOSデバッグ速習会@Wantedly
- http://wantedly.connpass.com/event/23093/
- 2015.11.26 19:30~21:00
※ Xcode 7以上であれば以下でインストールできる
git clone https://github.com/artsy/eigen.git
cd eigen
bundle install
make oss
bundle exec pod install
open Artsy.xcworkspace
- 題材アプリのインストール
- Runしてアプリの全体像見てみる
- ブレークポイントを利用してみる
- 配置・除去
- 有効化・無効化
- 一覧の確認
- コンソールを利用してみる
- オブジェクトの確認
- LLDBコマンドの実行
- アプリ起動時に呼ばれるメソッドにブレークポントを配置する
ARAppDelegate
クラスのapplication:didFinishLaunchingWithOptions:
メソッドを見付ける
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- ブレークポイントを配置
- ビルド&ランしてブレークポイントで実行が止まることを確認
- アプリ実行中にデバッグボタンを利用してみる
- ビュー構造の確認
- タブの通知ボタンのクラスの特定
- タブの通知ボタンの描画箇所の特定
- 検索ボタン(画面右上)
- クラスを特定する
- 描画箇所を特定する
- https://github.com/facebook/chisel
taplog
コマンドの利用
- chiselのインストール
brew update && brew install chisel
~/.lldbinit
の編集
- 検索ボタン(画面右上)
taplog
コマンドを利用してクラスを特定する
- Facebookサインアップの押下でクラッシュ
- Facebookサインアップボタンのクラスの特定
- Facebookサインアップボタンのアクション処理のメソッドの特定
- ブレークポイントを利用した原因の調査
- Facebookサインアップボタン
- 押下のクラッシュを再現してみる
- 例外用のブレークポイントを利用してみる (Exception Breakpoint)
- PonyDebugger
- https://github.com/square/PonyDebugger
- 通信内容の確認
ponyd serve
コマンド
- PonyDebuggerを利用して通信内容を確認してみる