The identity 'iPhone Developer: **** doesn't match any valid, non-expired certificate/private key pair in your keychains
が出るとき。
- BuildIdeintifierがAppID(apple dev centerで参照)のと一致してないiPhone実機ビルドをするためのCertificateの作り方
- プロジェクトのcode signの指定を再設定してみる(普通recommendとかで自動で良いと思うが)
- 認証期限が切れていないか?(apple dev center のcertificateをチェック切れていれば認証を作り直して登録する)
- ライブラリ、デバイスのプロビジョニングが切れているので入れ替える
- 古いプロビジョニングは消す
- XCode再起動
- デバイス再起動
デバッグマクロ
ログにつかう書式等
ブレークポイント
例外ブレークポイントをはる。
ブレークポイントタブを表示させておいて、コードを選択して、左下の+を押して、例外ブレークポイントを選択する。
詳細をターミナル表示
- 例外ブレークポイントは削除しておく
- NSSetUncaughtExceptionHandlerを作成すると例外がでたときキャッチされる。
- [exception callStackSymbols]
シンボリックブレークポイント
特定のインスタンス変数のメソッドが呼ばれたときにブレークポイントが呼ばれるような設定ができる。
Symbolにメソッド名を書く。
po
po hoge
コード実行
(void)printf("foo")
有用なリンク
EXC_BAD_ACCESSのデバッグ
NSZombieEnabled
MallocStackLogging
NSDebugEnabled
をYESにする。
困ったとき
考えられるNotificationをかけてみる。
XCodeの再起動、iPhoneの再起動
クリーンして実行してみる。
versionの違いでAPIの仕様が変わってないかチェックする。
デバッグHowto
コンパイル
duplicate symbols for architecture i386
Copy Bundle Resourceに同じxibが二つ入ってしまうと起きる事がある。
リーク
profileを実行してinstrumentを起動させる。
leaksを選択。プログラム実行。
検索窓であたりをつけたクラス名を入れると
リークしている場合検索される。
実機でリークチェックできない
→スキームでプロファイルのBuild configが間違っていないか
明らかにリークしているのを探知できない
→実装に仕方によっては発見できないリークもある。
突然落ちるとき
メモリ不足でビューが破棄されていないか?
addSubViewだけでretainされているようものはビューの破棄で破棄されてしまう。
きちんとretainして持っておく必要がある。(deallocで解放するなどする)
行番号の表示
Xcode preference TextEditing で line show にチェックを入れる。
実機のデバッグログを見る
オーガナイザーで接続デバイスのDevice logsを選択すれば見れる。
細々
ネットワーク速度を遅くしたい
最終更新:2013年04月03日 10:15