iPhone/iPod touch
[iPhone/iPad] Dropbox API を使ってみた
8iPhone/iPad アプリに Dropbox からファイルの読み込みがしたくて、Dropbox API を使ってみました。SDK が用意されていてそれを使えば簡単にアプリに組み込むことが可能です。
アプリの登録
Dropbox に自分が作成するアプリを登録して API Key などを取得します。まず下記 URL よりアプリを登録します。
https://www.dropbox.com/developers/apps
(続きを読む…)
[iPhone/iPad] 手作業でユニバーサルアプリ化する
3iPhone アプリを Xcode のメニューからユニバーサル化できますが、多分やり方が悪いのだと思うのですがどうもうまくいかないので面倒なので手作業でやることにしました。(アップルのマニュアルには必ず Xcode のメニューからやれって書いてあるので、やるときは自己責任でお願いします。)
手作業でできると iPad アプリを先に作ってそれをユニバーサル化することもできるので覚えておいて損はないと思います。
(続きを読む…)
[iPad] フォトライブラリで編集した画像を元にオリジナル画像を再編集
1なんか分かりにくいタイトルになってしまった。何がしたいかというと、iPad で UIImagePickerController を使用してフォトライブラリから写真を読み込む際に allowsEditing = YES にしておくと写真を選択後に画像の位置とスケールを指定することができます。UIImagePickerControllerEditedImage でその編集後の UIImage を取り出せるのですが、このサイズが 320 x 320 (厳密にはちょっと違った)で帰ってきます。これでは iPad で表示するには小さすぎます。そこで、元画像を編集後のデータを元に再度トリミングすることにしました。
(続きを読む…)
[iPhone/iPad] UIGestureRecognizer でジェスチャーを識別する
11iOS3.2 で追加された UIGestureRecognizer を使うと様々なジェスチャーを簡単に識別することができます。ただし、iOS3.2 以降で利用可能なので使用する際には注意が必要です。iPad アプリなら問題ないです。識別できるジェスチャーは以下のとおりです。
- タップ
- ピンチ
- パン(ドラッグ)
- スワイプ
- ローテイト
- ロングプレス
[iPhone] NSArray のソート方法
10NSArray 内のオブジェクトの指定したメンバ変数でソートする方法です。
NSArray に複数の Book クラスが入っているとします。Book クラスは以下のようなメンバ変数を持っています。
@interface Book: NSObject { NSInteger no; NSString* furigana; NSDate* publish_date; }
ソートするには NSArray 内のオブジェクトに NSComparisonResult を返すメソッドを作り、そのメソッド内で比較をします。
(続きを読む…)
[iPhone] アドレス帳からメールアドレスを選択させる
4メール.app のようにアドレス帳からメールアドレスを選択させる方法です。大まかな仕様は、個人を選択させ登録メールアドレスが1つならそのまま登録されているメールアドレスを取得し、複数メールアドレスが登録されている場合は、登録されているメールアドレスを全て表示してどのメールアドレスを使用するかを選択してもらいます。
(続きを読む…)
[iPhone] MFMailComposeViewController で画像入りの HTML メールを送る
3MFMailComposeViewController を使うと簡単にアプリ内から簡単にメール送信することができます。HTML メールも送信することが可能ですが、HTML で img タグを使うときには画像ファイルを Base64 エンコードする必要があります。
NSData+Base64
下記サイトの下の方にある NSData+Base64 のコードをダウンロードしてプロジェクトに追加します。
Cocoa with Love: Base64 encoding options on the Mac and iPhone
(続きを読む…)
[iPhone] Localized 時の小技
6NSLog の文字列フォーマットは C言語の printf と同じです。この文字列フォーマットには引数を文字列内に入れる順番を指定することができます。
NSLog(@"%@, %@, %@", @"one", @"two", @"three");
上記の実行結果は “one, two, three” です。
次に下記のように実行すると
(続きを読む…)