其他 iOS 10 架構變更

本文涵蓋 iOS 10 現有架構的其他次要變更或增強功能。

AV Foundation Framework 新增專案

AVFoundation 架構包含下列增強功能:

  • 在 iOS 10 中,開發人員不再需要根據內容類型實作不同的 AVPlayerItem 行為。 只要設定 Rate 屬性和AVFoundation即可判斷何時有足夠的內容可供播放而不停止。
  • 新的 AVCapturePhotoOutput 類別會取代已被 AVCaptureStillImageOutput 取代的類別,並提供統一方法來處理所有攝影工作流程,方法是提供複雜的擷取程式和監視擷取程式,並支援新功能,例如 Live Photos 和 RAW 擷取格式。
  • 新的 AVPlayerLooper 類別可讓您更輕鬆地在播放期間迴圈指定的媒體片段。
  • 類別 AVAssetDownloadURLSession 允許下載及稍後播放 FairPlay 加密的 HLS 數據流。
  • 根據預設, AVCaptureSession 類別會在裝置硬體支援時,自動支援寬色彩、寬域擷取。 如需詳細資訊,請參閱Apple的 iOS裝置相容性參考

AVKit 新增專案

AVKit 架構現在包含新的 UpdatesNowPlayingInfoCenter 屬性,指出何時應該更新 Now Playing Info Center。

核心數據增強功能

iOS 10 包含下列核心數據架構的增強功能:

如需詳細資訊,請參閱Apple的核心 數據架構參考

核心映像增強功能

iOS 10 對核心映射架構進行下列增強功能:

  • 開發人員現在可以在核心影像內容的工作色彩空間外處理色彩空間中的影像,方法是在處理前後轉換色彩空間。
  • 針對使用 A8 或 A9 CPU 的 iOS 裝置,現在支援 RAW 影像格式。 核心映像現在支援從內建 iSight 相機或第三方相機譯碼 RAW 影像。 FilterWithImageData使用 CIFilter 類別的 FilterWithImageURL 方法來處理 RAW 影像。
  • 已對 UIImage 物件中的 UIImageView 轉譯進行數個轉譯效能增強功能(由核心映射映像存放區支援時)。
  • UIImage 標記為寬域的物件將會在 UIImageView 支援寬色的 iOS 裝置上,將呈現為寬域色彩的物件。
  • 核心映像核心程式代碼現在可以要求特定的像素輸出格式。
  • ImageWithExtent CIFilter 類別的 方法可用來將自定義處理插入篩選作業中。 核心影像會在處理輸出或顯示影像時,於篩選之間叫用指定的回呼。

此外,已新增下列新的核心映射篩選:

  • CINinePartTiled
  • CINinePartStretched
  • CIHueSaturationValueGradient
  • CIEdgePreserveUpsampleFilter
  • CIClamp

核心動作新增專案

Core Motion 架構是 iOS 10 的新功能,包含計步器事件,可讓應用程式在執行時接收使用者暫停和繼續追蹤的快速即時通知。 使用 CMPedometer 來註冊前景或背景計步器事件。

基礎增強功能

已對 iOS 10 的 Foundation 架構進行下列增強功能:

  • 使用新的 NSMeasurementFormatter 類別來格式化當地語系化的度量,以向用戶顯示。

  • 使用新的 NSDateInterval 類別進行日期和時間間隔計算,例如持續時間,以比較間隔和測試間隔交集。

  • 使用新的 NSMeasurement 類別,在不同的量值單位之間轉換,或對不同 UOM 中的值執行計算。

  • 使用新的 NSUnitNSDimension 類別來代表特定的 UOM。

  • NSLocal 類別已新增數個新屬性,以取得本機資訊和可用的顯示格式。

GameKit 增強功能

已對 iOS 10 中的 GameKit 架構進行下列增強功能:

  • 遊戲中心應用程式已被取代,並已從iOS移除。 如果應用程式使用 GameKit,它 必須 呈現自己的介面來顯示 GameKit 功能,例如排行榜等。
  • GKCloudPlayer 類別已實作新的僅限 iCloud 帳戶類型。
  • 新的 GKGameSession 類別提供一般化解決方案,用於管理 Game Center 上的永續性數據儲存區。 GKGameSession 會維護玩家清單,而應用程式負責實作參與者日期儲存、擷取或交換玩家的方式和時間。 在許多情況下,遊戲會話可以取代現有的回合式比對、即時比對或永續性遊戲儲存方法。

GameKit 增強功能

iOS 10 中已對GamesKit 架構進行下列增強功能:

  • 使用新的 GKMeshGraph 類別來提供高效能、自然外觀的路徑。
  • 已新增程序雜訊產生,可用來增強自然外觀紋理中的現實主義、將現實主義新增至相機移動,並協助產生豐富的遊戲世界。
  • 使用空間分割來分割遊戲世界數據,以有效率地搜尋。
  • 新增了一位蒙特卡洛策略師(GKMonteCarloStrategist),以進行詳盡的移動計算。
  • 使用新的 GKAgent3D 和 GKGraphNode3D 類別,將 3D 支援新增至現有的代理程式和尋找路徑行為。
  • 新的 GKSceneGKSKNodeComponent 類別可讓GamesKit 和 SpriteKit 組合比以往更容易。
  • 已新增判定樹 API(GKDecisionTreeGKDecisionNode),以增強遊戲建置 AI。

HealthKit 增強功能

已對 iOS 10 中的 HealthKit 架構進行下列增強功能:

  • 已新增天氣類型(例如 HKWeatherConditionClearHKWeatherConditionCloudy)和鍛煉類型(例如 HKWorkoutActivityTypeFlexibilityHKWorkoutActivityTypeWheelchairRunPace)的新元數據索引鍵。
  • 已新增類別 HKCDADocument ,以代表臨床文件架構 (CDA) 格式化的檔。
  • 使用新的 HKWorkoutConfiguration 類別來指定ActivityType鍛煉的 和 LocationType
  • 新的 HKWheelchairUseObjectWheelchairUse HKHealthStore 類別的方法已新增,用於處理輪椅相關健康數據。

HomeKit 增強功能

已對 iOS 10 中的 HomeKit 架構進行下列增強功能:

  • 已新增新的服務和特性。
  • iPad 可以設定為作為 HomeKit Hub,以提供遠端訪問、執行自動化觸發程式並啟用共用用戶權力。
  • 相機和門鈴配件已新增支援。
  • 已針對配件提供更多內容和組態。

如需詳細資訊,請參閱 HomeKit 簡介檔。

金屬增強功能

已對 iOS 10 中的 Metal 架構進行下列增強功能:

  • 3D 應用程式和遊戲現在 可以使用鑲嵌 ,透過 GPU 有效率地轉譯複雜的場景和幾何。
  • 提供資源配置的精細控制,以使用資源堆積和無記憶體轉譯目標將金屬型應用程式的效能優化。
  • 使用函式特製化為場景建立高度優化的材質和光線組合函式集合。

若要深入瞭解,請參閱Apple的 金屬程序設計指南

ModelIO 增強功能

已對 iOS 10 中的 ModelIO 架構進行下列增強功能:

  • 現在支援美元檔案格式。
  • 已將帶正負號的距離字段支援新增至 MDLVoxelArray 類別。
  • 使用新 MDLLightProbeIrradianceDataSource 類別來協助放置淺色探查。
  • 使用新的 MDLMaterialPropertyGraph 類別,輕鬆地支援模型的運行時間變更。

相片增強功能

下列增強功能已對 iOS 10 中的 Photos 架構進行:

ReplayKit 增強功能

已對 iOS 10 中的 ReplayKit 架構進行下列增強功能:

SceneKit 增強功能

已對 iOS 10 中的 SceneKit 架構進行下列增強功能:

  • SCN 相機 類別可以使用 HDR 特性和效果來提供更大的現實主義。 使用調適型曝光來建立自動效果,或使用調色、色彩邊緣和色彩分級,將填滿效果新增至遊戲。
  • SceneKit 現在包含新的實體型轉譯 (PBR) 系統,以使用更簡單的資產撰寫來取得更真實的結果。
  • 使用新的 SCNLightingModelPhysicallyBased 底紋模型來產生各種不同的實際底紋效果,同時只需要三個基本屬性(DiffuseMetalnessRoughness)。
  • 由於 PBR 底紋最適合以環境為基礎的光源,因此請使用 LightingEnvironment 屬性將影像型光源指派給整個場景。
  • IESProfileURL使用 屬性來匯入真實世界的光源裝置,這些裝置會根據真實世界值來定義光源,例如強度(以亮度為單位)和色彩溫度(以 Kelvin 為單位)。
  • PBR 和 HDR 相機功能提供比傳統轉譯技術更好的結果,因此 SceneKit 現在會在線性色彩空間中執行所有色彩計算(在寬色裝置顯示器上使用 P3 色域)。
  • SceneKit 現在會讀取色彩配置檔資訊,以符合所有色彩。
  • SceneKit 會解譯所有著色器類型之線性 RGB 色彩空間中的色彩元件值。
  • 藉由在應用程式的 中指定 SCNDisableLinearSpaceRendering 和 索引鍵,即可停用線性色彩空間轉譯和 SCNDisableWideGamutInfo.plist色。
  • 使用新的 SCNGeometryPrimitiveTypePolygon 類別,建置任意多邊形靈長類動物(從檔案載入或以程序設計方式產生)來指定幾何。
  • 由於 SceneKit 會讀取並調整紋理影像中的色彩配置檔資訊,因此請使用所有影像的資產類別目錄來確保提供這項資訊。

SpriteKit 增強功能

已對 iOS 10 中的 SpriteKit 架構進行下列增強功能:

  • 自定義著色器可以提供屬性 (SKAttribute),這些屬性可由每個使用著色器的節點分別設定,方法是提供屬性值 (SKAttributeValue)。
  • Tilemap 現在支援使用、 和 SKTileSet 類別的 2D、2.5D 和側卷遊戲 SKTileGroupRuleSKTileMapModeSKTileGroup的方形、六邊形和等距磚圖形。
  • 使用新 SKWarpGeometry 類別來延展或扭曲 SKSpriteNodeSKEffectNode 轉譯。 新的 SKAction 類別可用來以動畫顯示變形效果之間的轉換。
  • SKView 類別提供數個新方法,讓您更精細地控制場景的呈現時機和方式。

ScrollView 增強功能

下列增強功能已對 iOS 10.3 中的 ScrollView 控件進行:

  • UIScrollView 現在包含 IndexDisplayMode 屬性,以控制使用者捲動時 UIScrollViewIndexDisplayMode 索引的顯示方式:
    • Automatic - 索引顯示是由OS所控制。
    • AlwaysHidden - 索引顯示一律為隱藏。

如需使用方式, 請參閱 iOSTenThree 範例

UIKit 增強功能

已對 iOS 10 中的 UIKit 架構進行下列增強功能:

  • 新的 UIPasteboard API提供新的選項(例如存留期限制),並會自動宣告通用類別類型的相容內容類型。
  • 已新增新的完全互動式、以對象為基礎的可中斷動畫支援,並可連結至手勢。 如需詳細資訊,請參閱 Apple 的 UIViewAnimating 通訊協議參考、UIViewPropertyAnimator 類別參考UITimingCurveProvider 通訊協定參考、UICubicTimingParameters 類別參考UISpringTimingParameter 類別參考。
  • 新的 UIPreviewInteraction ,並允許 UIPreviewInteractionDelegate 開發人員應用程式提供自定義介面來查看和快顯作業。
  • 新的 UIAccessibilityCustomRotor 類別可讓應用程式提供自定義的內容特定功能,以輔助技術,例如 Voice Over。
  • UIAccessibilityIsAssistiveTouchRunning使用和 UIAccessibilityAssistiveTouchStatusDidChangeNotification 符號來判斷是否已啟用 AssistiveTouch。
  • UIAccessibilityHearingDevicePairedEar使用和 UIAccessibilityHearingDevicePairedEarDidChangeNotification 符號來取得任何配對 MFi 助聽器的狀態。
  • 若要支援標籤中的動態類型,文字欄位和文字框會使用 類別的新 PreferredFontForTextStyle 方法 UIFont
  • 若要決定當裝置 UIContentSizeCategory 變更時,專案是否應該更新其字型,請使用 AdjustsFontForContentSizeCategory 委派的 UIContentSizeCategoryAdjusting 屬性。
  • 類別 OpenURLUIApplication 方法會以異步方式呼叫,現在支援在開啟動作完成後呼叫的完成處理程式。
  • 使用新的 UICloudSharingControllerUICloudSharingControllerDelegate 類別起始 CloudKit 共用並修改其屬性。
  • 利用預先擷取的單元格來改善與新UICollectionViewDataSourcePrefetching委派的捲動體驗UICollectionViews
  • 開發人員現在可以控制索引標籤專案徽章的外觀(例如文字和背景色彩)。
  • 所有捲動檢視和捲動檢視子類別現在都支援 [重新整理控件] (例如 UICollectionView)。

WebKit 增強功能

已對 iOS 10 中的 WebKit 架構進行下列增強功能:

  • 已將查看和流行支援新增至 類別 WKWebViewShouldPreviewElement使用 方法來判斷指定的 Web 檢視是否應該顯示預覽。