BAD_ACCESS

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

2012-01-01から1ヶ月間の記事一覧

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

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

Apple Push Notification serviceを使うためのCSR手続きについて

何回かやっていてもやっぱりまた忘れていた。こんどこそ忘れないためのメモ。Apple Push Notification service(以下APNs)を使う際のAppIDは「com.companyname.*」のようにはできない。 改めて新しいAppIDをつくる必要がある。AppIDができたらAPNsを有効に…

「OPEN SPACE 2011@ICC」に行ってきた。

現在、ICCでは「OPEN SPACE 2011」(無料)と「インターネット アート これから」という2つの企画をやっている。ICC ONLINE | アーカイヴ | 2012年 | オープン・スペース 2011 それぞれ気になった展示を後で調べてまとめてみた。 OPEN SPACE 2011(2011.10.2…

「インターネット アート これから@ICC」に行ってきた。

現在、ICCでは「インターネット アート これから」と「OPEN SPACE 2011」(無料)という2つの企画をやっている。ICC ONLINE | アーカイヴ | 2012年 | [インターネット アート これから]――ポスト・インターネットのリアリティ それぞれ気になった展示を後で…

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…

アプリをなんとか20MB以内におさめたい時の試行錯誤。

iOSのアプリを提供する際に気を付けたいのはアプリのデータを20MB以内におさめるということ。 アプリが3G経由でダウンロードできる最大のサイズが20MBだから。 ちなみにアプリのサイズの内訳として、85%以上のアプリが20MB以下という結果になっている。(ソ…

「iOS5」で追加された新機能。ざっと読み。

巷ではiPad3だのiOS5.1だのと騒がれておりますが、iOS5で一体何ができるようになったのか、ざっと読みしてみたいと思います。以下の本に書いてあることを斜め読みしております。 詳解iOS5プログラミング作者: 沼田哲史出版社/メーカー: 秀和システム発売日: …

Twitter APIへのアクセスで401エラーが出る。

今更こんなところでハマるかよ・・・という内容ですが、ありそうな気もするのでメモ。 Twitterへ投稿する際にAPIエラーが出る。 「Could not authenticate you.」つまり認証することができませんでした。となっている。 不思議なのは、投稿する前に行ったOAu…

2012年、使えるかもしれない技術たち。

週末にこれまで気になっていた技術をひととおり調査してみた。まだコードをガリガリ書いている状態ではないけど早く試してみたい! バーコード認識 巷では廃れた感があるが、自分としてはまだまだ未知の分野。画像・動画認識の基礎にもなるところなので、定…

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は解放済みのオブジェクトに対してアクセスしようとすると発生するエラー。 余分に解放してしまったのはどのオブジェクトなのかを探し当て…

右から左へpushView(CATransition)

みなさまご存知の通り、iPhoneでは通常左から右にビューが遷移していきます。 奇特なことに右から左にビューをプッシュしたいという方がおられたので、その時の情報をまとめます。 画面遷移についてはこのブログエントリに丁寧に解説されておりましたので参…

KVO(Key-Value Observing)とは何か(1)

KVOに関する日本語の記事が意外と少なかったので勉強を兼ねてメモ。 ※KVO公式ドキュメントの日本語訳はこちら KVOのより良い理解のためにKVCについても触れておくことをオススメします。 KVC(Key-Value Coding)とは何か(1) - BAD_ACCESS KVC(Key-Value Codin…

いまさら聞けないStack Overflowの仕組みと活用法

今年1年の目標として、プログラムに関する自分の裾野を広げるためのいくつか試している。 このブログもその内の一つで、少なくとも1月中は毎日更新を目標としている。(まだネタにはこだわらない) もう一つはStack Overflowをうまく使って英語のアウトプ…

KVC(Key-Value Coding)とは何か(2):KeyPath

前回のメモKVC(Key-Value Coding)とは何か(1) - BAD_ACCESS 「KVC」でも重要な要素であるKeyPathについてメモ。 参考書籍は前回に引き続き「詳解Objective-C 2.0」詳解 Objective-C 2.0 第3版 <KeyPath(キーパス)とは何か> Pesonクラスのオブジェクトを…

AppBank 村井さんの特別講演にいってきた

<AppBankとは> ・AppBankはiPhoneユーザーにはおなじみのアプリレビューサイト。(2008年10月8日〜)これまでレビューしたアプリおよそ12,000本。 ・月間1,500万PV ユニークユーザー数月180万人。基本的にアプリを探す人が集まるので単純に計算する…

KVC(Key-Value Coding)とは何か(1)

「KVC」とは何かをしっかり理解しておきたいのでメモ。 参考書籍は「詳解Objective-C 2.0」詳解 Objective-C 2.0 第3版 (もう第3版が出てる!) <KVC> こちらが特に何も加えなくても、オブジェクトのプロパティに対して「キー」と呼ばれる文字列でアクセ…

JSONで取得したデータのソートがうまくいかない場合の対応

idとcontentsの2つのキーを持ったオブジェクトmessages(NSArray)を JSONで受け取り、idの値でソートしたい場合。 - (NSArray *)sortByRecentMessages:(NSArray*)messages { NSSortDescriptor *sortByRecent = [NSSortDescriptor sortDescriptorWithKey:@"…

位置情報の利用をどうしてもオンにしてほしいときの対応

位置情報を必要とするアプリが増えてきている一方で、iOS5からどうも電池の減るスピードが早くなったと感じてついつい位置情報をオフにしているユーザーも多いのではないでしょうか? 開発者の立場としてはなかなか辛いところですが、今回は位置情報の利用を…

PlaceholderをTextField以外でも表示させたい!

TextFieldのPlaceholderって便利ですよね。TextViewでも同じようにできるかと思ってたら...できない! 「Placeholder in UITextView」でGoogle先生に聞いてみると、ばっちりの回答が。 iphone - Placeholder in UITextView - Stack OverflowUIPlaceHolderTex…

facebookの友達申請ダイアログ表示

iPhoneアプリ上でfacebookと連携させる必要がでてきた。 ここでは「ダイアログ」に「友達申請画面」を表示させる必要があったのでその時のメモ。 <iOS用SDKの取得> まずはfacebook-ios-sdkの最新版をGitHubから手に入れておくなど。 facebook/facebook-ios…

In App Purchaseを組み込み申請するときの正しい順番

アプリ内課金を組み込むときに申請の順番が結構ややこしかったのでメモ。 webでは意外と情報がなかった。 ※公式ドキュメントは必読「In App Purchaseプログラミングガイド」1. アプリの新しいバージョン(または新規アプリ)を「prepare for upload」の状態…