*

‘deviceInputWithDevice’ is unavailable への対処。

   

私生活が落ち着き、これからアプリを徐々にアップデートさせていく。

その手始めに、Swift1.2で書かれたアプリをSwift2へアップグレードすることに。

夏にしろよってお話なのですが。恐縮です。

Xcode7をインストし、いざ開いて見ると案の上、エラーとワーニングの嵐。

エラーウィンドウに移る、黄色と赤のコントラストが眩しい。

手始めにエラーから潰していく事に。

‘deviceInputWithDevice’ is unavailable

エラーの中で特に気になったのが、このエラー。

videoInput = (try AVCaptureDeviceInput.deviceInputWithDevice(backCameraDevice)) as AVCaptureDeviceInput


‘deviceInputWithDevice’ is unavailable: use object construction ‘AVCaptureDeviceInput(device:error:)’

英語は理解できないが、パッと見は嫌なエラー。

そういう時はエラーメッセージをコピーしてグーグル先生に質問。

すると、答えが帰ってきた。

http://stackoverflow.com/questions/30949154/how-do-i-fix-the-error-deviceinputwithdevice-is-unavailable

個人開発の味方、StackOverflow。

どうやらAVCaptureDeviceInputでの呼び出し方が変わったらしい。

do{
  videoInput = try AVCaptureDeviceInput(device: backCameraDevice) as AVCaptureDeviceInput
} catch {
  videoInput = nil
}

こうすることでエラーが解消されました。

先は長い。

他参考:https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVCaptureDeviceInput_Class/#//apple_ref/occ/instm/AVCaptureDeviceInput/initWithDevice:error:

 - Swift