其他tvOS 10架構變更
除了tvOS的重大變更之外,Apple 還對tvOS 10中的數個現有架構進行了修改和改進。
AVFoundation Framework 新增專案
AVFoundation 架構包含下列增強功能:
- 在tvOS 10中,應用程式不再根據內容類型實作不同的 AVPlayerItem 行為。 只要設定
Rate
屬性和AVFoundation即可判斷何時有足夠的內容可供播放而不停止。 - 新的
AVPlayerLooper
類別可讓您更輕鬆地在播放期間迴圈指定的媒體片段。
AVKit 架構增強功能
AVKit 架構包含下列增強功能:
- 應用程式現在可控制AVPlayerViewController的略過行為,因此略過手勢可能會移至播放清單中的下一個專案,或在目前項目中前進。
核心數據增強功能
tvOS 10 包含核心資料架構的下列增強功能:
- 根 NSManagedObjectContext 對象支援並行錯誤和擷取,而不需要串行化。
- NSPersistentStoreCoordinator 類別會維護 SQLite 資料存放區的集區。
- 在 WAL 日誌模式中,具有 SQLite 資料存放區的 NSManagedObjectContext 物件支援新的查詢產生功能,其中 Managed 物件內容 (MOC) 可以釘選到特定的資料庫版本,以供日後擷取和錯誤交易。
- 使用高階
NSPersistenceContainer
來參考NSPersistentStoreCoordinator
、 NSManagedObjectModel 和其他核心數據組態資源。 - 已新增數個新的便利方法,
NSManagedObject
可讓您更輕鬆地執行擷取和建立子類別。
如需詳細資訊,請參閱Apple的核心 數據架構參考。
核心圖形增強功能
tvOS 10 包含核心圖形架構的下列增強功能:
- 新的 CGColorConverterRef 類別可用來執行一系列的色彩轉換。
核心映像增強功能
tvOS 10 對核心映射架構進行下列增強功能:
ImageWithExtent
CIFilter 類別的 方法可用來將自定義處理插入篩選作業中。 核心影像會在處理輸出或顯示影像時,於篩選之間叫用指定的回呼。- 應用程式現在可以在核心影像內容的工作色彩空間之外處理色彩空間中的影像,方法是在處理前後轉換色彩空間。
- 已對
UIImage
物件中的UIImageView
轉譯進行數個轉譯效能增強功能(由核心映射映像存放區支援時)。 UIImage
標記為寬域的物件將會在UIImageView
支援寬色的 iOS 裝置上,將呈現為寬域色彩的物件。- 核心映像核心程式代碼現在可以要求特定的像素輸出格式。
此外,已新增下列新的核心映射篩選:
CINinePartTiled
CINinePartStretched
CIHueSaturationValueGradient
CIEdgePreserveUpsampleFilter
CIClamp
基礎增強功能
已對 tvOS 10 的 Foundation 架構進行下列增強功能:
- 使用新的 NSDateInterval 類別進行日期和時間間隔計算,例如持續時間,以比較間隔和測試間隔交集。
- NSLocal 類別已新增數個新屬性,以取得本機資訊和可用的顯示格式。
- 使用新的 NSMeasurement 類別,在不同的量值單位之間轉換,或對不同 UOM 中的值執行計算。
- 使用新的 NSMeasurementFormatter 類別來格式化當地語系化的度量,以向用戶顯示。
- 使用新的 NSUnit 和 NSDimension 類別來代表特定的 UOM。
GameKit 增強功能
tvOS 10 中已對 GameKit 架構進行下列增強功能:
- GKCloudPlayer 類別已實作新的僅限 iCloud 帳戶類型。
- 新的 GKGameSession 類別提供一般化解決方案,用於管理 Game Center 上的永續性數據儲存區。
GKGameSession
會維護玩家清單,而應用程式負責實作參與者日期儲存、擷取或交換玩家的方式和時間。 在許多情況下,遊戲會話可以取代現有的回合式比對、即時比對或永續性遊戲儲存方法。
GameKit 增強功能
tvOS 10 中已對GamesKit 架構進行下列增強功能:
- 已新增程序雜訊產生,可用來增強自然外觀紋理中的現實主義、將現實主義新增至相機移動,並協助產生豐富的遊戲世界。
- 使用空間分割來分割遊戲世界數據,以有效率地搜尋。
- 新增了一位蒙特卡洛策略師(GKMonteCarloStrategist),以進行詳盡的移動計算。
- 已新增判定樹 API(GKDecisionTree 和 GKDecisionNode),以增強遊戲建置 AI。
- 使用新的 GKAgent3D 和 GKGraphNode3D 類別,將 3D 支援新增至現有的代理程式和尋找路徑行為。
- 使用新的 GKMeshGraph 類別來提供高效能、自然外觀的路徑。
- 新的 GKScene 和 GKSKNodeComponent 類別可讓GamesKit 和 SpriteKit 組合比以往更容易。
金屬增強功能
已對tvOS 10中的 Metal 架構進行下列增強功能:
- 3D 應用程式和遊戲現在 可以使用鑲嵌 ,透過 GPU 有效率地轉譯複雜的場景和幾何。
- 使用函式特製化為場景建立高度優化的材質和光線組合函式集合。
- 提供資源配置的精細控制,以使用資源堆積和無記憶體轉譯目標將金屬型應用程式的效能優化。
若要深入瞭解,請參閱Apple的 金屬程序設計指南。
金屬效能著色器增強功能
tvOS 10 中的金屬性能著色器架構已增強下列功能:
- 許多新的核心已新增至金屬效能著色器架構,讓應用程式能夠利用高優化、數據平行計算,例如色彩空間轉換和神經網路作業。
ModelIO 增強功能
tvOS 10 中已對 ModelIO 架構進行下列增強功能:
- 現在支援美元檔案格式。
- 使用新的
MDLMaterialPropertyGraph
類別,輕鬆地支援模型的運行時間變更。 - 已將帶正負號的距離字段支援新增至 MDLVoxelArray 類別。
- 使用新
MDLLightProbeIrradianceDataSource
類別來協助放置淺色探查。
SceneKit 增強功能
tvOS 10 中已對 SceneKit 架構進行下列增強功能:
- SceneKit 現在包含新的實體型轉譯 (PBR) 系統,以使用更簡單的資產撰寫來取得更真實的結果。
- 使用新的 SCNLightingModelPhysicallyBased 底紋模型來產生各種不同的實際底紋效果,同時只需要三個基本屬性(
Diffuse
Metalness
和Roughness
)。 - 由於 PBR 底紋最適合以環境為基礎的光源,因此請使用
LightingEnvironment
屬性將影像型光源指派給整個場景。 IESProfileURL
使用 屬性匯入真實世界光源裝置,這些裝置會根據真實世界值定義光源基礎,例如強度(以亮度為單位)和色彩溫度(以 Kelvin 為單位)。- SCN 相機 類別可以使用 HDR 特性和效果來提供更大的現實主義。 使用調適型曝光來建立自動效果,或使用調色、色彩邊緣和色彩分級,將電影效果新增至遊戲。
- PBR 和 HDR 相機功能提供比傳統轉譯技術更好的結果,因此 SceneKit 現在會在線性色彩空間中執行所有色彩計算(在寬色裝置顯示器上使用 P3 色域)。
- SceneKit 現在會讀取色彩配置檔資訊,以符合所有色彩。
- SceneKit 會解譯所有著色器類型之線性 RGB 色彩空間中的色彩元件值。
- 由於 SceneKit 會讀取並調整紋理影像中的色彩配置檔資訊,因此請使用所有影像的資產類別目錄來確保提供這項資訊。
- 藉由在應用程式的 中指定
SCNDisableLinearSpaceRendering
和 索引鍵,即可停用線性色彩空間轉譯和SCNDisableWideGamut
寬Info.plist
色。 - 使用新的 SCNGeometryPrimitiveTypePolygon 類別,建置任意多邊形靈長類動物(從檔案載入或以程序設計方式產生)來指定幾何。
SpriteKit 增強功能
已對 tvOS 10 中的 SpriteKit 架構進行下列增強功能:
- Tilemap 現在支援使用、 和
SKTileSet
類別的 2D、2.5D 和側卷遊戲SKTileGroupRule
SKTileMapMode
SKTileGroup
的方形、六邊形和等距磚圖形。 - 使用新
SKWarpGeometry
類別來延展或扭曲 SKSpriteNode 或 SKEffectNode 轉譯。 新的 SKAction 類別可用來以動畫顯示變形效果之間的轉換。 - 自定義著色器可以提供屬性 (
SKAttribute
),這些屬性可由每個使用著色器的節點分別設定,方法是提供屬性值 (SKAttributeValue
)。 - SKView 類別提供數個新方法,讓您更精細地控制場景的呈現時機和方式。
UIKit 增強功能
已對 tvOS 10 中的 UIKit 架構進行下列增強功能:
- 除了 之外,焦點 API 已增強,以支援非檢視項目的
UIViews
焦點。 支援焦點 的項目必須 實作IUIFocusItem
介面。 - 新的
UIGraphicsRender
類別提供從UIKit轉譯或核心圖形建立位圖或 PDF 的物件導向方法,並取代已被UIGraphicsBeginImageContext
取代的方法。 - 已新增 類別
UIUserInterfaceStyle
,以判斷目前作用中的使用者介面主題(深色或淺色)。 - 已新增新的完全互動式、以對象為基礎的可中斷動畫支援,且 Van 會連結到手勢。 如需詳細資訊,請參閱 Apple 的 UIViewAnimating 通訊協議參考、UIViewPropertyAnimator 類別參考、UITimingCurveProvider 通訊協定參考、UICubicTimingParameters 類別參考和 UISpringTimingParameter 類別參考。
- 新的
UIPreviewInteraction
和UIPreviewInteractionDelegate
允許應用程式提供自定義介面,以便查看和快顯作業。 - 新的
UIAccessibilityCustomRotor
類別可讓應用程式提供自定義的內容特定功能,以輔助技術,例如 Voice Over。 UIAccessibilityIsAssistiveTouchRunning
使用和UIAccessibilityAssistiveTouchStatusDidChangeNotification
符號來判斷是否已啟用 AssistiveTouch。UIAccessibilityHearingDevicePairedEar
使用和UIAccessibilityHearingDevicePairedEarDidChangeNotification
符號來取得任何配對 MFi 助聽器的狀態。- 新的 UIPasteboard API提供新的選項(例如存留期限制),並會自動宣告通用類別類型的相容內容類型。
- 若要支援標籤中的動態類型,文字欄位和文字框會使用 類別的新
PreferredFontForTextStyle
方法UIFont
。 - 若要決定當裝置
UIContentSizeCategory
變更時,元素是否應該更新其字型,請使用AdjustsFontForContentSizeCategory
委派的UIContentSizeCategoryAdjusting
屬性。 - 應用程式現在可以控制索引標籤專案徽章的外觀,例如文字和背景色彩。
- 中的所有捲動檢視和捲動檢視子類別中現在都支援 [重新整理控件] (例如
UICollectionView
)。 - 類別
OpenURL
的UIApplication
方法現在以異步方式呼叫,支持在開啟完成後呼叫的完成處理程式。 - 使用新的
UICloudSharingController
和UICloudSharingControllerDelegate
類別起始 CloudKit 共用並修改其屬性。 - 利用預先擷取的單元格來改善與新
UICollectionViewDataSourcePrefetching
委派的捲動體驗UICollectionViews
。