HOME > CONIT Labs.

CONIT Labs.

iPhone Tips ~ カメラ③~


こんにちは。阿久津です。
本日は、前回までの続きでカメラアプリの「フォトライブラリ」の
操作部分の実装についてお話していきます。
では、Interface Builderを開き、フォトライブラリを開くための
ボタンを追加します。
画面イメージは以下のような感じです。

次に「CameraViewController.h」にフォトライブラリを操作するための
アクション「search」を追加します。
で、「CameraViewController.m」に「search」メソッドの実装ですが・・・
実はこれは非常に簡単で、カメラアプリの第1回目で説明した
UIImagePickerControllerのsourceTypeプロパティにフォトライブラリを
意味する「UIImagePickerControllerSourceTypePhotoLibrary」を設定するだけで
あとはカメラ撮影機能を実装したときと同じで、イメージピッカを表示とすると
標準アプリの「写真」と同じようにフォトライブラリが表示されちゃいます。
ね、めちゃくちゃ簡単でしょ!!
カメラアプリについて3回に渡って簡単に説明してきましたが、
これらはいたって標準の機能をどう使うかに則って説明してきました。
あくまでも基礎編ですよね。
あとはどうこれらを応用して、おもしろいアプリ・便利なアプリを作成するか!?
で・す・ね☆
サンプルソースはこちら

iPhone Addressbook api


こんにちは、開発TEAM佐々木です。
今日は、なかなかネットにも落ちていないアドレスブックAPIの紹介です。
アドレスブックAPIはC言語のAPIですので、多少面倒くさいですね。
アドレスブックAPIを使うと、全件取得や、名前で検索、新規追加、編集などができるそうですが
今回はeMailの全件取得をしてみたいと思います。
ただし、eMailといってもアドレスブックアプリ的にeMail欄がValidかどうかは
判定していないようで、適当な文字列を設定することができますから
実際に使う際は、eMailのフォーマットをチェックすることをおすすめします。
ソースコード

//ref of Addressbook
ABAddressBookRef book = ABAddressBookCreate();
//Count of Addressbook
CFIndex cnt = ABAddressBookGetPersonCount(book);
NSLog(@”addressbook count is %d “,cnt);
//AllRecords of Addressbook
CFArrayRef records = ABAddressBookCopyArrayOfAllPeople(book);
for(int i=0;i< CFArrayGetCount(records) ;i++){
//record at index=i
ABRecordRef person = CFArrayGetValueAtIndex(records,i);
//eMail info
ABMultiValueRef emails = ABRecordCopyValue(person,kABPersonEmailProperty);
//how many email
CFIndex emlCount = ABMultiValueGetCount(emails);
for(int e=0;e //print email address
NSLog(@"addressbook %d email: %@",i,ABMultiValueCopyValueAtIndex(emails,e));
}
}

シミュレーター内のアドレスブックデータ


実行結果
2009-02-27 11:51:41.800 addressbook[4123:20b] addressbook count is 1
2009-02-27 11:51:41.803 addressbook[4123:20b] addressbook 0 email: iPhone@Apple

iPhone Tips ~ カメラ②~


こんにちは。阿久津です。
本日は、前回の続きで撮った写真を保存する方法です。
前回の簡単なおさらい

UIImagePickerControllerを使いカメラを起動する。
その方法は・・・
UIImagePickerControllerのソースタイプにUIImagePickerControllerSourceTypeCameraを
指定しそのピッカーを[presentModalViewController]メソッドによってモーダルにて開く。

前回添付したソースをもとに動かしてみた方は、分かると思いますが
カメラを起動した以降は、ノンコーディングなのです。
だから、「Use Photo」ボタンを押下した後に、「Saving・・・」とでるので
おっ 保存までできるんだぁ~ ・・・ と単純な僕は勘違いしてしまいました。
フォトライブラリを覗いてみて、「ガックシ」 
撮った写真はライブラリには保存されていません。
で・・・ここからどうやって写真を保存するんだろうと色々とドキュメントを読みあさりました。
で、見つけた方法が以下です。

①何かしら写真をとって保存としたら、デリゲートにメッセージが飛ぶので以下を実装する。
(imagePickerController:didFinishPickingImage:editingInfo)
②上記①にてフォトライブラリへ保存するメソッド[UIImageWriteToSavedPhotosAlbum(①で受け取ったimage,nil,nil,nil)]をコール。
これで、フォトライブラリに撮った写真がほぞんされますよ。
③ピッカーコントローラを非表示にする。

以上の方法で、無事フォトライブラリに撮った写真を保存することができました。
次回は、フォトライブラリについてです。
ではでは
今回のサンプルソース

コニット開発室

CONIT Official Tweet

CONIT Facebook FanPage

CONIT BLOG

株式会社コニット

SamuraiSmartphoneServices

Buy and take only medicines from online pharmacy ,]}$ drugs online has affordable prices. Brand name drugs Canadian pharmacy [*}: compare drug prices Canada delivering medicines at your door. Free online consultation at https://canada-pharmacy-store.com <;) order cialis highest value and quality. Is it legal to mail prescription drugs? Yes, Canadian drugs [.($ order viagra . After ordering you will be contacted by our managers and agree on the delivery details.