iOS 10 額外的 Framework 改動(部分)
AVFoundation? 攝像頭捕捉
AVFoundation framework里的多媒體捕捉子系統(tǒng)里包含了一些重要改動果港。
1)雙攝像頭和設備發(fā)現(xiàn)
7plus 帶有雙攝像頭延塑,一個廣角相機和長焦相機合并作為一個單一采集設備一起工作阶祭。在? iOS10和以后的版本中肄鸽,你要使用以下類AVCaptureDevice中的方法來使用采集設備:調用defaultDeviceWithDeviceType:mediaType:position:方法(傳device type為AVCaptureDeviceTypeBuiltInDuoCamera來使用雙攝像頭哺徊,如果設備沒有雙攝像頭則方法返回nil构资,同樣的芜壁,你可以傳device type為AVCaptureDeviceTypeBuiltInWideAngleCamera來使用默認的后置攝像頭)
創(chuàng)建一個AVCaptureDeviceDiscoverySession對象,傳你要用于捕捉的設備屬性庐冯,枚舉對象自身的devices列表孽亲,從中選擇一個設備來用于你的捕捉回話。
注意:類AVCaptureDevice的方法devices 和 devicesWithMediaType:在iOS中已經(jīng)廢棄掉了展父,并且不提供進入雙攝像頭和長焦相機相關的方法返劲。
當你用雙攝像頭時,RAW capture和大多數(shù)的手工控制將不可用犯祠。要想使用這些功能旭等,請?zhí)匾膺x擇廣角設備捕捉和長焦設備捕捉中的一種。
2)新的照片拍照API
新的 AVCapturePhotoOutput 類為所有的攝影工作流程提供了一個統(tǒng)一的傳遞途徑衡载,實現(xiàn)更復雜的控制和整個捕獲過程監(jiān)控,并且支持如Live Photos 和 RAW format capture等新功能隙袁。你應該過渡到AVCapturePhotoOutput而不是AVCaptureStillImageOutput,AVCaptureStillImageOutput,是iOS10不推薦的(廢棄的)
3)廣色域
攝像頭捕捉管道可以在支持的設備上捕捉廣色域色彩格式痰娱,默認情況下,當你的采集流程適合時菩收,AVCaptureSession會自動配置為廣色域捕捉
AVFoundation Media
媒體播放和編輯子系統(tǒng)在AVFoundation framework有如下增強:
你不在需要為AVPlayerItem實現(xiàn)不同的行為梨睁,而是取決于內容是電影文件還是HLS內容。在iOS10或者以后版本中娜饵,你只需要設置rate屬性坡贺,AVFoundation就會幫你判斷何時已經(jīng)緩存足夠的內容讓你能不失速的播放。
AVPlayerLooper類可以讓你在回放的過程中更容易的循環(huán)不妨特定部分遍坟。
可以使用AVAssetDownloadURLSession類來下載一個包含HLS流的asset到設備上,并播放這個asset愿伴。當雨FairPlay流一起使用時肺魁,你可以下載一個加密的HLS流并在稍后的時間安全的播放HLS流隔节。
UIKit
UIKit framework 有很多增強,比如:
新的基于對象的怎诫,完全互動和可中斷的動畫支持(注意動畫可以中斷了)瘾晃,可以讓你保持你的動畫控制并且通過手勢交互鏈接這些動畫幻妓。你可以在UIViewAnimating Protocol Reference, UIViewPropertyAnimator Class Reference, UITimingCurveProvider Protocol Reference, UICubicTimingParameters Class Reference, 和 UISpringTimingParameters Class Reference.中查看這些變化。
新的UIPreviewInteraction類和UIPreviewInteractionDelegate 接口可以讓你提供有peek和pop 體驗的自定義用戶界面涌哲。
新的UIAccessibilityCustomRotor類和與其相關的類胖缤,幫助你提供的自定義的上下文特定功能的輔助技術,就像VoiceOver的可以公開給用戶的一樣阀圾。例如哪廓,您可以創(chuàng)建一個自定義的轉子,可以讓用戶的VoiceOver通過反復返回下一個拼錯單詞的文本范圍找到一個文檔中的拼寫錯誤的單詞
新的UIPasteboard API自動為普通的實例聲明兼容的內容類型和能限制pasteboard上的對象的的生命周期的新的選項初烘。
UIPasteboard上新的選項
新的UIFont方法:preferredFontForTextStyle:compatibleWithTraitCollection:增加了在labels, text fields,和其他文本域中的動態(tài)類型的支持涡真。
UIContentSizeCategoryAdjusting接口提供了屬性adjustsFontForContentSizeCategory,該屬性能用來確定當設備的UIContentSizeCategory變化時是否采用的元素應該更新其字體
提供對tabbar item上的角標(badge)額外的控制肾筐,如background color 和 text attributes的修改.
在scrollview和scrollview子類中增加了refresh control
新的UIApplication 方法openURL:options:completionHandler:哆料,該方法是異步執(zhí)行,并且回調方法在主線程中執(zhí)行吗铐。(該方法用來替換openURL:)
UICollectionView的增強和新的UICollectionViewDataSourcePrefetching 的接口东亦,iOS10中你可以通過自動預取cells來提升滑動時的體驗
WebKit
你可以使用WKWebView中的webView:shouldPreviewElement: 方法來判斷是否制定的web view可以加載預覽(preview)