2016-09-22 24 views
2

我對着錯誤: AVCap相機(AVFoundation新API)類iOS的10並沒有發現

當:沒有已知的方法選擇

defaultDeviceWithDeviceType:mediaType:position:

雖然這種方法的文檔在給定我稱這種方法,它顯示錯誤,找不到方法。我的代碼是:

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithDeviceType: AVCaptureDeviceTypeBuiltInDuoCamera 
              mediaType: AVMediaTypeVideo 
              position: AVCaptureDevicePositionBack]; 

這裏是所有版本的詳細信息: 的MacOS:10.11.5, 的Xcode 8.0測試版,iOS版 :10.0.1

回答

2

The AVCaptureDevice methods devices and devicesWithMediaType: are deprecated in iOS 10 , and do not provide access to the dual camera or telephoto camera.

When you use the AVCaptureDevice class for video or photo capture, you can choose to use the dual camera device to gain these features, or to specifically use only the wide-angle or telephoto camera for more manual control.

要訪問的iOS捕獲設備10.0和更高版本,您可以使用以下任一方法:

調用defaultDeviceWithDeviceType:mediaType:position:方法。 (通過AVCaptureDeviceTypeBuiltInDuoCamera設備類型訪問雙攝像頭

對於沒有雙攝像頭的設備,該調用返回nil - 在這種情況下,可以再次調用相同的方法,傳遞AVCaptureDeviceTypeBuiltInWideAngleCamera設備類型以獲取默認返回相機)。

創建一個AVCaptureDeviceDiscoverySession對象,傳遞要用於捕獲的設備屬性,並枚舉其設備列表以選擇捕獲會話的設備。

讀取文檔瀏覽:

https://developer.apple.com/library/content/releasenotes/General/WhatsNewIniOS/Articles/iOS10.html#//apple_ref/doc/uid/TP40017084-DontLinkElementID_11

+0

謝謝@Ronak的時間。我已經多次閱讀文檔並瞭解新的變化。我的問題是,當我調用方法'defaultDeviceWithDeviceType:mediaType:position:'它顯示錯誤,該方法沒有在'AVCaptureDevice'類中找到。 –

0

當我在Xcode 8.0測試版切換到發行版本的Xcode 8.0則worked.Thanks