読者です 読者をやめる 読者になる 読者になる

BAD_ACCESS

おもにiOS、ときどき変な電子工作、ガジェット話。

Xcode

Xcode5で自分のコードをAPIリファレンス的にまとめていく話

いつのまにかもう一年の25分の1が過ぎてしまいました。すっかり更新が途絶えてしまいましたが今年もよろしくお願い致します。 今回の記事は普段からきっちりappledoc等で自分の書いたコードを整理している人にはほとんどお役にたちませんのでご了承いただく…

ビュー関連のデバッグに便利そうな手法

わたくし先週はビューの回転にすっかりハマってしまいまして。。。 自戒の意味も込めて、ビュー関連のデバッグに便利そうな手法をしらべましたのでまとめてみました。 recursiveDescriptionメソッド ビューの階層構造やframeの値を一気に取得するためのメソ…

動画の圧縮についてスタディしてみた

AVAssetExportSessionの設定でどれぐらいの圧縮ができるかをスタディしてみた。 iPhone4で動画を撮影した(15秒、1分、3分)ものをベースに実施。 ※このあたりは機種によって変わるそうなので参考まで。 動画の時間 15Sec 1min 3min Original(byte) 22,302,0…

AVAssetExportSessionで動画の圧縮

カメラロールに保存された動画をアップロードする際にある程度データを圧縮する必要があると思いAVAssetExportSessionを使った方法を試してみるメモ。 AVAssetExportSessionについて 公式のドキュメントによると、 エクスポートセッションは、アセットの非同…

ALAssetGroupの「addAsset」が返す値が時々NOになって困る。

需要ないと思うけど…写真をフォトライブラリにひとまとめにして保管(ー>アルバムとして保管)する際にカメラロール側に余分に保管されてしまう現象について。 あるアプリでダウンロードしてきた写真をアルバム単位で保管する機能がある。保管する際にアル…

NSNotificationCenter(通知センター)への登録。

これまで異なるクラス間でメソッドを呼び出す際にはdelegateで取り回しをしていたけど、NSNotification(通知センター)を使ったほうが可読性が高まってあとでメンテナンスしやすいというアドバイスをいただいた。全てのケースに当てはまるわけじゃないけど…

AVCaptureSessionを使ってカメラアプリをつくるときのUI関連処理

カメラアプリ実装での悩み。開発継続中。 iOS4から利用可能となっているAVCaptureSessionを使うことでカメラアプリの自由度が格段に上がる! ということでドキュメント精読。キャプチャセッション自体の処理はGCDを使ってメインスレッド以外で行われる。 (…

Newsstandアプリを開発する(1)

Newsstandアプリのモックにとりかかる。Newsstandのアプリ開発情報がとにかく少ないのでまずは公式のリファレンスとWWDC2011の動画、英語の記事を参考にするしかない。 しばらく開発メモがてら更新していく。まずNewsstandアプリをつくるために何が必要か? …

StoryBoardを使うけどSeguesは使わない場合の画面遷移の方法

需要があるかどうか… StoryBoardを使った画面遷移の設計・開発は直感的にできて非常に有用。 ただし、ちょっと標準のやり方と離れていくと、途端に使い方を迷ってしまうことも否めない。 今回はStoryBoardを使って開発を進めつつもSeguesを使わない場合の画…

いまさら聞けないUIView(1)「frameとboundsの違い」

カメラアプリの開発に取り掛かっていて、どうもUIViewについて理解が浅い気がしてきた。 いまさらと言われても、思った時にやるのが一番!ということでUIViewについてのメモ。 UIViewクラス概要 お決まりの公式ドキュメント。 相変わらず充実の内容です。色…

StoryBoardでGesture Recognizerを追加する。

引き続きiOS5関連について。 StoryBoardを使った開発は画面の少ないシンプルなアプリや画面遷移のイメージをプロトタイプとして確認するにはうってつけの開発方法だと思う。 今回はStoryBoardを使った画面作成でGesture Recognizerを追加しようとしたときの…

テーブルビューで複数のセルを同時選択が可能に!

最近開発したアプリで自前でテーブルビューのチェックボックスコントローラをこしらえたのだが… ついに標準でも複数セルの同時選択ができるようになった様子! Loading - (void)viewDidLoad { [super viewDidLoad]; self.dataArray = [NSMutableArray arrayW…

静的テーブルビューなら設定画面の開発がすこぶる快適に!

アプリを開発していて結構手間になるのが設定画面の開発。 見た目はすごくシンプルだけどグループテーブルビューの独特の記述で面倒くさい。iOS5からは静的なテーブルビューが用意され、作成の際にデータソースが不要になっています。 TableViewの「Content…

StoreKit(In-App Purchase)に関する神記事を発見した。

以前も課金(In-App Purchase)に関してはWeb上でもなかなか情報が得にくいというメモを書いたが、iOSの課金に関する神ブログを発見した! StoreKitと闘う | なんてこったいブログドキュメントを読み込んでも完全に把握できない部分のノウハウが詰まっている…

Semantic Issue '&&' within '||' がウザい。

iOS5で以前のバージョンのアプリをビルドしようとするとインポートしている一部のライブラリで「 Semantic Issue '&&' within '||' 」とワーニングがわんさか出る。 結構な数で出てくるのでなんとかしようとしたときのメモ。 Xcode上には「Place parentheses…

EXC_BAD_ACCESSが出てもうろたえないために

開発しているとどうしてもぶち当たる壁がデバッグ。その中でもEXC_BAD_ACCESSが出るとお手上げ状態。 EXC_BAD_ACCESSは解放済みのオブジェクトに対してアクセスしようとすると発生するエラー。 余分に解放してしまったのはどのオブジェクトなのかを探し当て…

テスト

test test #import "FireworkView.h" @interface Firework : NSObject { } @end @implementation Firework // 初期化 -(id)initWithCenter:(CGPoint)inCenter owner:(NSMutableArray*)inOwner view:(UIView*)inView { if (self = [super init]) { } return s…