Tweet機能付きカメラアプリを作る1

このエントリーをはてなブックマークに追加
はてなブックマーク - Tweet機能付きカメラアプリを作る1
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`grow` not found]

iOS5からTwitterと連携するAPIが加わっています。
このAPIと、iPhoneのカメラ機能を連携させたシンプルなTweet機能付きカメラアプリを作ってみましょう。

今回はカメラ機能を使う為のAPIのインポートから、カメラ機能を立ち上げてシャッターを切るところまでをご説明します。

※カメラ機能はシミュレータではチェックできません。
 apple社にiOSのデベロッパ登録をし、実機のiPhoneを使ってテストする必要があります。
 iOSデベロッパ登録の手順に関しては今回は触れません。

まずはiPhoneのカメラ機能をプログラムが使用できるようにするため、camera用のAPIをインポートします。

Build Phases画面のLink Binary With Libraliesから

MobileCoreServices.framework を加えます。

photo1

photo2

左端に加わりました。

次に MobileCoreServices.framework をViewController.hファイルにインポートします。

photo3

#import

更に、同じくViewController.hファイルに

UINavigationControllerDelegate と UIImagePickerControllerDelegate を加えます

photo4

これでカメラ機能を使用する準備が出来ましたので、あとはソースコードを書いてプログラムしていきましょう。

まずはカメラ機能を立ち上げるためのスイッチを作ります。

今回はボタンをタップする事でカメラ機能を立ち上げる事にします。

TweetCameraViewController.xib を開いて下さい。

画面右上のViewボタンが3つ並んでいる右端のボタンを押して   バーを出します。

View上に Round Rect Button を置きます。

置いた Button には”カメラ”とでも書き込んでおきましょう。

photo5

右上Viewの右端ボタンを押して バーをしまいます。

次に画面右上、Editorボタンの真ん中のボタンを押して  画面にしてください。

画面が2画面になって、右側にTweetCameraViewController.hが表示されている事を確認して下さい。

キーボードのcontrolキーを押しながら “カメラ”Button をクリックし、そのまま線を画面右側のTweetCameraViewController.hに引っ張っていきます。

photo6

TweetCameraViewController.h の @end の上に線を持ってきてドロップしましょう。

出てきたメッセージの

connection : Action
Name : この”カメラ”Button の変数名
Type : id
Event : Touch Up Inside
Arguments : Sender

をそれぞれ選択して、右下のConnect を押します。

photo7

そうすると TweetCameraViewController.h に

– (IBAction)変数名:(id)sender;

が加わった事が確認できるはずです。

photo8

画面右上のEditorの左側のボタンを押して1画面に戻します。

TweetCameraViewController.m ファイルを開き、一番したを見て

– (IBAction)変数名:(id)sender {
}

というコードが加わっているのを確認して下さい。

photo9

アプリを起動して画面上の “カメラ”Button をタップすると、このコードの{}(中カッコ)の中身が実行される事になります。

というわけで、この

– (IBAction)変数名:(id)sender {
}

の{}(中カッコ)の中に、カメラ機能のソースコードを書き込んで行く事になります。

それでは書いて行きましょう

UIImagePickerController型の変数pickerCtlをinitメソッドで初期化します。

UIImagePickerController *pickerCtl = [[UIImagePickerController alloc] init];

photo10

UIImagePickerControllerSourceType型の変数imagePickCtlSourceTypeにカメラ機能を代入します

UIImagePickerControllerSourceType imagePickCtlSourceType = UIImagePickerControllerSourceTypeCamera;

photo11

カメラ機能が使用可能かどうかをif文でチェックします。カメラが使用可能であればif文の中身が実行されることになります。

BOOL cameraReady = [UIImagePickerController isSourceTypeAvailable:imagePickCtlSourceType];

if (cameraReady) {

NSLog(@”カメラ使用可能”);

}

photo12

さらに、このif文の中にコードを書いて行きます。

delegateプロパティにselfを指定。これはあとで撮影した写真を保存するプログラムを組み込む時に必要になってきます。
pickerCtl.delegate = self;

sourceTypeプロパティに上でカメラ機能を指定しておいた変数imagePickCtlSourceTypeを代入。ここでカメラ機能が立ち上がることになります。
pickerCtl.sourceType = imagePickCtlSourceType;

presentModalViewController で 変数pickerCtl を指定する事でカメラ画面に遷移。遷移アニメーションには NO を指定。
 (ここを animated:YES にするとモーダルビューならではの画面遷移の仕方をしますので、試してみて下さい。)

[self presentModalViewController:pickerCtl animated:NO];

photo13

ここまでで

アプリを起動
カメラボタンをタップしてカメラ機能を立ち上げ
シャッターを切る

までが実装できました。

関連している記事:


Copyright(c) 2010 EUI All Rights Reserved.