Objective-CでOAuthその3

OAuthConsumerの標準のデリゲート/セレクタを使う形の使い方は、実際に使ってみると可読性の低いコードになってしまったり、セレクタの名前を間違えてしまったりなどミスが発生しがちなので、OAuthConsumerをブロックに対応させるクラスを作りました。
例によって、使うときは無保証/自己責任で注意して使ってください。 “Objective-CでOAuthその3” の続きを読む

Objective-CでOAuthその1

Twitter等の最近の外部サービスではクライアントアプリからの認証にOAuthを使うことが多くなってきました。Objective-CではOAuthConsumerというライブラリを使うことでOAuthによる認証を実現することができますが、ドキュメント類が少なかったり若干癖のあるライブラリなので、ここに使い方を書いておこうと思います。
なお、ここで説明している方法は僕が勝手に解釈/試行錯誤した結果たどり着いた方法であり、OAuthConsumerが公式に説明している情報に基づいたものではありません。なにか問題があっても責任はいっさいとれないので、自己責任のもと注意して使ってください。
“Objective-CでOAuthその1” の続きを読む

AsyncUdpSocketの使い方

仕事やプライベートでもUDP関連のプログラムを書くときにAsyncUdpSocketを使っています。自分でソケット関連のコードを書かなくてよいので圧倒的にラクなのですが、このライブラリはドキュメント類があまり充実しておらず、いつも使うときに調べ直すのが面倒なので、ここに備忘録的にまとめておきます。 “AsyncUdpSocketの使い方” の続きを読む

Objective-C用のドキュメント作成ツールappledoc

Objective-Cライブラリのドキュメント作成は今までDoxygenを使っていたのですが、もうすこしObjective-C用に適したドキュメント作成ツールがないか調べていたらappledocを見つけました。 “Objective-C用のドキュメント作成ツールappledoc” の続きを読む

テスト用にアドレス帳にダミーデータを登録する

アドレス帳が関係するアプリケーションを開発する際、数百件単位でアドレス帳にデータが欲しい時があります。
そんな時、数百件分手作業でデータを登録するのは厄介なので、プログラムで一気にテストデータを登録するコードを書いたので、共有しておきます。
ただし、消すコードはないので実機ではやらないほうがよいかも(・ω・)

ABAddressBookRef addressBook = ABAddressBookCreate();
for (int i = 0; i < 150; i++) {
    ABRecordRef person = ABPersonCreate();
    ABMutableMultiValueRef email =
    ABMultiValueCreateMutable(kABMultiStringPropertyType);
    ABMultiValueAddValueAndLabel(email,
        [NSString stringWithFormat:@"test%d@example.com", i], 
        CFSTR("email"), NULL);
    ABRecordSetValue(person, kABPersonEmailProperty, email, nil);
    CFRelease(email);
    ABAddressBookAddRecord(addressBook, person, nil);
    ABAddressBookSave(addressBook, nil);
    CFRelease(person);
}

ちなみに上記のコードはiOS3 or 4でしか動きません。

iOSアプリケーション開発におけるテスト(非同期処理編)

仕事としてiOSアプリケーションの開発をはじめて1年立ちました。ちょうど一年前に現在のプロジェクトに入った時、真っ先にテストの導入を考えたのですが、当時は技術的な問題のためにコスト対効果が低いとの結論に至り断念しました。しかし、iOSのバージョンが4になり、Xcode4が登場し、またチームへの新しいメンバーの参加によって状況がかわり、テスト導入の新しい方向性が見えてきました。一ヶ月ほど試してみて、効果が見えてきたので記事にしておきます。 “iOSアプリケーション開発におけるテスト(非同期処理編)” の続きを読む

ブロックを使ってHTTP通信

OS X 10.6, iOS 4.0から使えるようになったブロック構文。iOS 3系のデバイス(特にiPad)のことがあったため、なかなか本格的に使う機会が訪れなかったのですが、先日iPadもOSが4.2となりブロックが使えるようになり、これでようやくブロック構文を本格的に使って実装を行っていく事ができそうです。 “ブロックを使ってHTTP通信” の続きを読む

Xcodeのテキストマクロ

プログラムを少ない労力と時間で書く上でIDEによる補間機能はとても便利だ。限定的ではあるがXcodeではテキストマクロを活用すると、通常の補間よりも更にラクができる。コマンドを覚えておかないと使いこなせないので、忘れないためのメモ。
“Xcodeのテキストマクロ” の続きを読む