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

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

SwiftでUIImagePickerControllerを使ってみた – Qiita

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

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

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

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

サンプルプログラムの下記箇所を、
[swift]
if captureDevice {
// Debug
println(captureDevice!.localizedName)
println(captureDevice!.modelID)
} else {
println("Missing Camera")
return false
}

// init device input
var error: NSErrorPointer!
[/swift]

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

[swift]
if captureDevice == nil {
println("Missing Camera")
return false
}

// init device input
var error: NSErrorPointer = nil
[/swift]

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

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

コメント