其他 macOS Sierra 架構變更
加速架構增強功能
下列增強功能已針對適用於macOS Sierra的加速架構進行:
- 已新增四元(整數微積分)。
- 已新增建構類神經網路的基本函式。
- 已新增幾何述詞函式,以測試兩個幾何物件交集等專案。
AppKit 架構增強功能
已對 macOS Sierra 的 AppKit Framework 進行下列增強功能:
- 數個增強功能
NSCollectionView
,例如:- 可折迭區段 - 允許使用者將集合檢視區段折疊成單一水平數據列。
- 浮動標頭 - 頁首和頁尾現在可以使用與 iOS 中的 UICollectionView 相同的 API 來浮動(在流程配置中)。
- 可捲動的背景檢視 - 集合 Views 背景現在可以設定為隨內容一起卷動。
- 延後檢視版面配置階段已經過優化和擴充。
- 拖放 API 現在包含新的
NSFilePromiseProvider
和NSFilePromiseReceiver
類別,以支援拖曳叢集。 - 已將數個便利建構函式新增至現有的控制項:
NSButton
包含建立按鈕、複選框和單選按鈕的新建構函式。NSTextField
包含建立換行和非包裝標籤、屬性標籤和可編輯文字欄位的新建構函式。NSSegmentedControl
包含從標籤或影像群組建立分段控件的新建構函式。NSSlider
包含建立水平線性滑桿的新建構函式。NSImageView
包含從指定NSImage
建立不可編輯影像檢視的新建構函式。
NSGridView
新的 已新增至自動版面配置子檢視集合到具有可變大小數據列和數據行的方格中,這些數據列和數據行可以動態隱藏或顯示。
AVFoundation Framework 增強功能
已對 macOS Sierra 的 AVFoundation Framework 進行下列增強功能:
- 在macOS中,應用程式不再需要根據內容類型實作不同的 AVPlayerItem 行為。 只要設定
Rate
屬性和AVFoundation即可判斷何時有足夠的內容可供播放而不停止。 - 新的
AVPlayerLooper
類別可讓您更輕鬆地在播放期間迴圈指定的媒體片段。 - 類別
AVAssetDownloadURLSession
允許下載及稍後播放 FairPlay 加密的 HLS 數據流。
核心數據架構增強功能
已對 macOS Sierra 的 Core Data Framework 進行下列增強功能:
- 根 NSManagedObjectContext 對象支援並行錯誤和擷取,而不需要串行化。
- NSPersistentStoreCoordinator 類別會維護 SQLite 資料存放區的集區。
- 在 WAL 日誌模式中,具有 SQLite 資料存放區的 NSManagedObjectContext 物件支援新的查詢產生功能,其中 Managed 物件內容 (MOC) 可以釘選到特定的資料庫版本,以供日後擷取和錯誤交易。
- 使用高階
NSPersistenceContainer
來參考NSPersistentStoreCoordinator
、 NSManagedObjectModel 和其他核心數據組態資源。 - 已新增數個新的便利方法,
NSManagedObject
可讓您更輕鬆地執行擷取和建立子類別。
如需詳細資訊,請參閱Apple的核心 數據架構參考。
核心映像架構增強功能
已對 macOS Sierra 的 Core Image Framework 進行下列增強功能:
ImageWithExtent
CIFilter 類別的 方法可用來將自定義處理插入篩選作業中。 核心影像會在處理輸出或顯示影像時,於篩選之間叫用指定的回呼。- 應用程式現在可以在核心影像內容的工作色彩空間之外處理色彩空間中的影像,方法是在處理前後轉換色彩空間。
- 核心映像核心現在可以要求特定的像素輸出格式。
- 新增下列新的影像篩選:
CINinePartTitled
、CINinePartStretched
、CIHueSaturationValueGradient
、CIEdgePreserveUpsampleFilter
和CIClamp
。
Foundation Framework 增強功能
已對 macOS Sierra 的 Foundation Framework 進行下列增強功能:
- 使用 NSDimentions API 來表示、轉換和顯示許多最常見的實體單位,例如品質、長度、速度、持續時間和溫度。
- 使用 NSISO8601DateFormatter 類別來剖析和產生 ISO 8601 格式化日期。
- 使用新的 NSDateInterval 類別進行日期和時間間隔計算,例如持續時間,以比較間隔和測試間隔交集。
- 使用 NSPersonNameComponentsFormatter 類別,從字串剖析人員名稱的專案。
- 使用新的 NSURLSessionTaskMetrics 類別來取得 URL 網路作業階段的計量。
如需詳細資訊,請參閱適用於OS X v10.12和iOS 10的Apple基礎版本資訊。
GameKit 架構增強功能
已對 macOS Sierra 的 GameKit Framework 進行下列增強功能:
- 遊戲中心應用程式已被取代,並已從 macOS 移除。 如果應用程式使用 GameKit,它 必須 呈現自己的介面來顯示 GameKit 功能,例如排行榜等。
- GKCloudPlayer 類別已實作新的僅限 iCloud 帳戶類型。
- 新的 GKGameSession 類別提供一般化解決方案,用於管理 Game Center 上的永續性數據儲存區。
GKGameSession
會維護玩家清單,而應用程式負責實作參與者日期儲存、擷取或交換玩家的方式和時間。 在許多情況下,遊戲會話可以取代現有的回合式比對、即時比對或永續性遊戲儲存方法。
GamePlayKit 架構增強功能
已對適用於 macOS Sierra 的 GamePlayKit Framework 進行下列增強功能:
- 已新增程序雜訊產生,可用來增強自然外觀紋理中的現實主義、將現實主義新增至相機移動,並協助產生豐富的遊戲世界。
- 使用空間分割來分割遊戲世界數據,以有效率地搜尋。
- 新增了一位蒙特卡洛策略師(GKMonteCarloStrategist),以進行詳盡的移動計算。
- 已新增判定樹 API(GKDecisionTree 和 GKDecisionNode),以增強遊戲建置 AI。
- 使用新的 GKAgent3D 和 GKGraphNode3D 類別,將 3D 支援新增至現有的代理程式和尋找路徑行為。
- 使用新的 GKMeshGraph 類別來提供高效能、自然外觀的路徑。
- 新的 GKScene 和 GKSKNodeComponent 類別可讓GamesKit 和 SpriteKit 組合比以往更容易。
金屬架構增強功能
已對macOS Sierra 的 Metal Framework 進行下列增強功能:
- 3D 應用程式和遊戲現在 可以使用鑲嵌 ,透過 GPU 有效率地轉譯複雜的場景和幾何。
- 使用函式特製化為場景建立高度優化的材質和光線組合函式集合。
- 提供資源配置的精細控制,以使用資源堆積和無記憶體轉譯目標將金屬型應用程式的效能優化。
若要深入瞭解,請參閱Apple的 金屬程序設計指南。
模型 I/O 架構增強功能
下列增強功能已針對 macOS Sierra 的模型 I/O 架構進行:
- 現在支援美元檔案格式。
- 使用新的
MDLMaterialPropertyGraph
類別,輕鬆地支援模型的運行時間變更。 - 已將帶正負號的距離字段支援新增至 MDLVoxelArray 類別。
- 使用新
MDLLightProbeIrradianceDataSource
類別來協助放置淺色探查。
Photos 架構增強功能
已對 macOS Sierra 的 Photos Framework 進行下列增強功能:
- 即時相片編輯現在適用於支援相片架構和相片編輯延伸模組的應用程式(適用於相片和 相機 應用程式內)。
- 使用新的 PHLivePhotoEditingContext 類別,將編輯套用至即時相片的視訊和仍然內容。
- 使用 CIImageProcessorInput 和 CIImageProcessorOutput 類別,利用新的核心映像處理器功能來執行編輯。
- 為了支持即時相片, PHLivePhoto 和 PHLivePhotoView 類別已從 iOS 移植到 macOS。
SceneKit 架構增強功能
已對 macOS Sierra 的 SceneKit Framework 進行下列增強功能:
- 現在包含新的實體型轉譯 (PBR) 系統,以使用更簡單的資產撰寫來取得更真實的結果。
- 使用新的 SCNLightingModelPhysicallyBased 底紋模型來產生各種不同的實際底紋效果,同時只需要三個基本屬性(
Diffuse
Metalness
和Roughness
)。 - 由於 PBR 底紋最適合以環境為基礎的光源,因此請使用
LightingEnvironment
屬性將影像型光源指派給整個場景。 IESProfileURL
使用 屬性匯入真實世界光源裝置,這些裝置會根據真實世界值定義光源基礎,例如強度(以亮度為單位)和色彩溫度(以 Kelvin 為單位)。- SCN 相機 類別可以使用 HDR 特性和效果來提供更大的現實主義。 使用調適型曝光來建立自動效果,或使用調色、色彩邊緣和色彩分級,將電影效果新增至遊戲。
- PBR 和 HDR 相機功能提供比傳統轉譯技術更好的結果,因此 SceneKit 現在會在線性色彩空間中執行所有色彩計算(在寬色裝置顯示器上使用 P3 色域)。
- SceneKit 現在會讀取色彩配置檔資訊,以符合所有色彩。
- SceneKit 會解譯所有著色器類型之線性 RGB 色彩空間中的色彩元件值。
- 由於 SceneKit 會讀取並調整紋理影像中的色彩配置檔資訊,因此請使用所有影像的資產類別目錄來確保提供這項資訊。
- 藉由在應用程式的 中指定
SCNDisableLinearSpaceRendering
和 索引鍵,即可停用線性色彩空間轉譯和SCNDisableWideGamut
寬Info.plist
色。 - 使用新的 SCNGeometryPrimitiveTypePolygon 類別,建置任意多邊形靈長類動物(從檔案載入或以程序設計方式產生)來指定幾何。
安全性架構增強功能
已對 macOS Sierra 的安全性架構進行下列增強功能:
- 介面
SecKey
已跨所有平台進行現代化和統一(iOS、tvOS、watchOS和 macOS)。
SpriteKit 架構增強功能
已對 macOS Sierra 的 SpriteKit Framework 進行下列增強功能:
- Tilemap 現在支援使用、 和
SKTileSet
類別的 2D、2.5D 和側卷遊戲SKTileGroupRule
SKTileMapMode
SKTileGroup
的方形、六邊形和等距磚圖形。 - 使用新
SKWarpGeometry
類別來延展或扭曲 SKSpriteNode 或 SKEffectNode 轉譯。 新的 SKAction 類別可用來以動畫顯示變形效果之間的轉換。 - 自定義著色器可以提供屬性 (
SKAttribute
),這些屬性可由每個使用著色器的節點分別設定,方法是提供屬性值 (SKAttributeValue
)。 - SKView 類別提供數個新方法,讓您更精細地控制場景的呈現時機和方式。
新架構
下列架構已新增至 macOS Sierra:
- 意圖架構 - 此架構可讓應用程式檢查互動(例如位置或使用者動作),並根據該資訊採取動作。
- SafariServices Framework - 此架構可讓應用程式針對 macOS 和 iOS 開發 Safari 的應用程式延伸模組(例如內容封鎖程式)。