デバッグ時にビューについての情報(重なりや位置、色など)を解析したくなることがよくあると思います。ビューの階層構造を知るための方法はいくつかありますが、先日見つけたSpark Inspectorがものすごく便利そうなのでご紹介します。 Spark Inspector – Runtime Debugger for iOS Apps Spark InspectorはBonjourとMethod Swizzlingを利用したランタイムデバッガーです。プロジェクトにフレームワークを追加し、起動のためのコードを記述するだけで簡単に利用できます(実際には、これらの作業もアシスタントが自動で行ってくれるので、ほぼボタン一つで利用可能になります)。 できることは大きく分けて二つ。 ビューの状態を2Dまたは3Dで表示する。ビューやレイヤーをリアルタイムで編集する。 通知センター(NSNotification
XCode4 と Instruments で実機動作中の NSZombie を探す方法¶ XCode4 で開発していると、予期しないインスタンスが解放されてしまって、そいつを 参照しようとして BAD_ACCESS が出てしまう事が有る。 しかし、いったい何を参照しようとしているのか、なかなか見つけ難い場合がある。 Cocoaではデベロッパ向けに「ゾンビオブジェクト」というアロケーションされていないメモリへのアクセスを見つける為に解放されたオブジェクトをNSZombieオブジェクトとしてリプレースされる機能があるので、BAD_ACCESSが発生した 際にそいつを見つけやすくすることができます。 NSZombie が有効な場合のXCode4 での debug output GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Fri Sep 16
ちょっとした細かい事なんですけど、設定とかimportとか プロジェクトを跨がって使いそうなやつは最初にうちにやってること多いんですけど、 その辺のネタを少々・・・ 1.NSLogの拡張と、prefix.pch NSLogは、コンソールにその内容を出力してくれるわけですが、 NSLog(@"%s",__PRETTY_FUNCTION__); NSLog(@"%d",__LINE__); とすると、 __PRETTY_FUNCTION__:クラス及び関数名 __LINE__:行数 などを表示してくれます。 ただ、毎回これを記述するのは、 面倒なのでだいたいマクロにしたりしますが、 #define LOG(fmt,...) NSLog((@"%s %d "fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__); これをあるヘッダファイルなどに記述
導入 iOS 開発者のみなさん、こんにちは。 このブログでは主にチュートリアルだったりフレームワークの紹介みたいなことを書いてきました。 そこで、たまには中級者向けのエントリを書いて「Xcode バリバリ使って、ビシバシ Objective-C 書いてますよ」アピールします。 iOS 開発をはじめて一通り Framework は理解したけど Xcode 使いこなせてる感が足りない方、夢にまで EXC_BAD_ACCESS が出てくる方に参考になる記事となればと思います。 といっても Xcode はマッシブな IDE なので、4つのデバッグツールに分けて「あれ、それ知らなかった!便利じゃん!」な方法を紹介します。 ブレークポイント デバッグには切っても切れない関係ですね。アプリを実行中に指定した行で処理を中断し、そこからステップ実行で細かいデバッグを可能にしてくれます。 ショートカットキー
This is a blog post by Soheil Moayedi Azarpour, an independent iOS developer. You can also find him on Google+. Have you ever had the following experience as an app developer? Before you submit your app, you perform a lot of testing to make sure your app runs flawlessly. It works fine on your device, but after the app is in the App Store, some users report crashes! If you’re anything like me, you
EngineeringHijacking Amazon EventBridge for launching Cross-A...Securing the invisible paths: How cross-account event flows can become security ... Data ScienceRevamping Data Science InterviewsInterviews are not just about improving hiring outcomes - they are about strengt... EngineeringRoBERTa Model for Merchant Categorization at Squar...Harnessing Large Language Models to Deliver Accurate Busine
Instruments は、Leakを調べられて便利ですが、blocksで、viewのivarを変更してリークしたときなどには、リークしてても、リークとでないことが多いです。それで以前はリークしていないと安心することもありました。でも、やはり、blocks+ARCの事例は、リークが多いので、気をつける必要があります。 まず、こんなかんじの、storyboardを作ってみました。 単純にdetail2を呼んで閉じるstoryboard ためしにこんな、リークする事例を作ってみました。 @implementation Detail2ViewController{ id myblock; id dic; } - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [supe
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く