• 締切済み

iOS開発:撮影後の写真を写真アプリで開く

iOS開発初心者です。現在、Objective-Cでカメラアプリを開発しています。 iOS 8標準のカメラアプリでは、撮影後、画面の左下にサムネイルが表示され、 そのサムネイルをタップすると、カメラロールに保存された写真を、標準の写真アプリで開けます。 このような機能を、自分のアプリにも実装したいと考えているのですが、上手くいきません。 AlAssetsLibraryを使用してカメラロールに保存はできました。 UIDocumentInteractionControllerに、保存時に取得したassetURLを使用して、写真アプリを起動しようとしたのですが、UIDocumentInteractionControllerではassetURLでは開けないようです。FileURLでないと駄目なようです。 iOS標準のカメラアプリでは、どのようなアプローチで、サムネイルをクリックして写真アプリを起動しているのでしょうか? どなたか、ご存知のかた、または推測できるかた、ご教授ください。 また、同等の機能を実装する方法をご存知でしたら、教えてください。 ちなみに、撮影した写真をアプリで加工し、EXIF情報を追加する必要があるので、AlAssetsLibraryは必須です。 よろしくお願いします。

みんなの回答

回答No.1

> iOS標準のカメラアプリでは、どのようなアプローチで、サムネイルをクリックして写真アプリを起動しているのでしょうか? それは写真アプリを起動しているのではありません。 写真アプリと似た機能をカメラアプリの中に実装しているだけです。 試しに、カメラアプリの左下のサムネイルをタップして写真を表示している状態で ホーム画面に戻り、写真アプリを起動してみてください。 そして、ホームボタンをダブルタップしてタスク一覧を表示してみてください。 写真アプリとカメラアプリが別々に起動され、別々のものを表示ていることが わかると思います。 おそらく写真アプリには外部アプリから指定された写真を表示して起動する 機能はないと思います。多くの画像処理アプリは、外部アプリから画像を 受け取って表示する機能や、画像を他のアプリに渡す機能を持っていますが、 標準の写真アプリにはほとんどそういう機能はありません。おそらくこういう 連携機能はセキュリティ問題を起こしやすくなるため、Appleはとても慎重に なっていると思います。iOS8になってやっとShare ExtensionやPhoto Editing Extention で写真アプリから呼び出してもらう特別な機能をもったアプリを呼び出せるようになっただけです。 (写真アプリを呼び出すインターフェースが追加されたわけではありません。) 撮影した写真を確認したいだけならUIImageViewやUIScrollViewを使って 写真を表示する画面を自分で作ればいい(作るしかない)と思います。