[自在]Swiftでカメラアプリ開発。やはりUIImagePickerよりAVFoundationだな。

Swiftでカメラアプリを作ろうと、とりあえずUIImagePicker使って簡単に作ってみようかと思って、下記のサイトを読んでみた。

SwiftでUIImagePickerControllerを使ってみた – Qiita

UIImagePicker使った人ならご存知、例のバグがまだ残っているらしい。。。(モジュールの読み込みに失敗するのか、適当な遅延処理を入れないと動かないが、どれくらい遅延させれば良いのか、やってみないと分からないという奴)

う〜む。というわけで、やっぱりAVFoundationからやるしかないか。

そして見つけたのが、この情報。
このサンプルプログラムを入れれば、そのまま…  動きません…
SwiftでAVFoundationを使ったカメラアプリのサンプル – Qiita

XcodeやSwiftが開発途上のバージョンであったため、現在のXcode6.1では、そのままでは動きません。

サンプルプログラムの下記箇所を、

       if captureDevice {
            // Debug
            println(captureDevice!.localizedName)
            println(captureDevice!.modelID)
        } else {
            println("Missing Camera")
            return false
        }

        // init device input
        var error: NSErrorPointer!

下記のようにシンプルに書き換えたら動作しました!

        if captureDevice == nil {
            println("Missing Camera")
            return false
        }
        
        // init device input
        var error: NSErrorPointer = nil

シャッターボタンもない状態ですが、とりあえずカメラプレビューは出来るようになります。

ここあたりからボチボチとSwiftでカメラアプリ製作やってみましょうかね。