Share via


iOS 9 簡介

本文介紹 iOS 9 中適用於 Xamarin.iOS 開發人員的所有全新和修改 API 和功能。

iOS 9 標誌

Apple 已在 iOS 9 中新增數個新的 API 和服務,以及許多現有功能的增強功能。

3D Touch

iOS 9 和 i 電話 6s 和 i 電話 6s Plus 的新功能,3D Touch 會將壓力敏感手勢新增至 iOS 應用程式。 使用 3D Touch,i 電話 應用程式現在不僅能夠告訴使用者正在觸碰裝置的螢幕,還可以感覺到使用者施加多少壓力,並回應不同的壓力水準。

3D Touch 為您的應用程式提供下列功能:

  • 壓力敏感 度 - 應用程式現在可以測量使用者觸碰螢幕並利用該資訊有多硬或光線。 例如,根據使用者觸碰螢幕的困難程度,繪製應用程式可能會使線條變厚或變薄。
  • 查看和快顯 - 您的應用程式現在可以讓使用者與其數據互動,而不需要流覽其目前的內容。 藉由在畫面上按下硬鍵,他們可以 查看 他們感興趣的專案(例如預覽訊息)。 藉由更努力地按,他們可以 彈出 專案。
  • 快速動作 - 以滑鼠右鍵按下傳統型應用程式中的專案時,可以像快捷功能表一樣快速動作。 使用快速動作,您可以從iOS裝置上的主畫面圖示,新增常用、快速且容易存取應用程式中函式的快捷方式。

若要深入瞭解,請參閱我們的 3D 觸控 簡介指南。

應用程式傳輸安全性

iOS 9 的新功能,應用程式傳輸安全性 (ATS) 會強制執行因特網資源(例如應用程式的後端伺服器)與應用程式之間的安全連線。 ATS 可確保所有因特網通訊都符合安全的連線最佳做法,藉此防止直接透過您的應用程式或其取用的連結庫意外洩漏敏感性資訊。

由於針對 iOS 9 和 OS X 10.11 (El Capitan) 建置的應用程式預設會啟用 ATS,因此使用 NSUrl 連線 ionCFUrl 或 NSUrlSession 的所有連線都將受限於 ATS 安全性需求。 如果您的連線不符合這些需求,這些連線將會失敗併發生例外狀況。

若要深入瞭解 ATS,請參閱我們的 應用程式傳輸安全性 指南。

適用於 iPad 的多工

透過 iOS 9,Apple 已新增多任務支援,以在特定 iPad 硬體上同時執行兩個應用程式。 因此,您的 Xamarin.iOS 應用程式無法再假設它們是在任何指定時間執行的唯一應用程式,或他們有權存取全螢幕或裝置的資源。

透過下列功能支援 iPad 的多工作處理:

  • 投影片上方 - 允許使用者暫時在投影片面板上執行第二個 iOS 應用程式(根據語言方向在畫面的右側或左側),涵蓋目前執行中主要應用程式的大約 25%。 投影片上方僅適用於 iPad Pro、iPad Air、iPad Air 2、iPad Mini 2、iPad Mini 3 或 iPad Mini 4。
  • 分割檢視 - 在支援的 iPad 硬體上(僅限 iPad Air 2、iPad Mini 4 和 iPad Pro),使用者可以挑選第二個應用程式,並排執行它與目前在分割畫面模式中執行的應用程式。 用戶可以控制每個應用程式所佔用主畫面的百分比。
  • 圖片 圖片 - 對於播放視訊內容的應用程式,影片現在可以在可移動且可重設大小的視窗中播放,而該視窗會浮動於目前在 iOS 裝置上執行的其他應用程式上。 用戶可完全控制此視窗的大小和位置。 圖片中的圖片僅適用於 iPad Pro、iPad Air、iPad Air 2、iPad Mini 2、iPad Mini 3 或 iPad Mini 4。

若要深入瞭解 iOS 9 的新多任務處理能力,請參閱 iPad 的多任務處理指南。

新的聯繫人和聯繫人 UI 架構

隨著 iOS 9 的推出,Apple 發行了兩個新的架構 ContactsContactsUI,以取代 iOS 8 和舊版所使用的現有通訊簿和通訊簿 UI 架構。

這些新的面向物件架構提供下列專案:

  • 聯繫人 – 提供 Xamarin.iOS 存取使用者的連絡資訊。 由於大部分的應用程式只需要只讀存取權,因此此架構已針對安全線程、唯讀存取進行優化。
  • ContactsUI – 提供 Xamarin.iOS UI 元素,以在 iOS 裝置上顯示、編輯、選取及建立聯繫人。

如需詳細資訊,請參閱我們的 聯繫人和聯繫人 UI 檔。

新的搜尋 API

iOS 9 中的搜尋已擴充,以提供絕佳的新方法來存取 Xamarin.iOS 應用程式內的資訊。 使用新的搜尋 API,您可以透過焦點和 Safari 搜尋結果、Handoff 和 Siri Reminders 和 Suggestions,讓應用程式的內容可供搜尋。 這可讓使用者快速存取應用程式內的活動和資訊。

此外,新的搜尋 API 可讓您更輕鬆地在應用程式中整合搜尋,而不需要先前的搜尋實作體驗。 因此,Apple 聲稱通常需要數小時的時間,才能使用應用程式搜尋來普遍搜尋 iOS 9 應用程式的內容。

如需詳細資訊,請參閱我們的 搜尋增強功能 檔。

新增堆棧檢視

堆疊檢視控件(UIStackView 利用自動配置和大小類別的功能來管理動態回應 iOS 裝置方向和螢幕大小的子檢視堆疊(水平或垂直)。

藉由使用堆疊檢視控件,配置使用者介面所需的工作量會大幅減少。 附加至堆棧檢視的所有子檢視配置都會根據開發人員定義的屬性自動管理,例如軸、分佈、對齊和間距。

如需詳細資訊,請參閱堆棧 檢視 簡介檔。

集合檢視變更

在 iOS 9 中,集合檢視(UICollectionView 現在支援新增預設手勢辨識器和數個新的支援方法,以立即重新排序專案。

使用這些新方法,您可以輕鬆地在集合檢視中實作拖曳到重新排序,並可以選擇在重新排序程式的任何階段自定義項目外觀。

若要深入瞭解 iOS 9 的集合檢視變更,請參閱我們的 集合檢視變更 指南。

遊戲增強功能

透過 iOS 9,Apple 已對 Gaming API 進行了數項技術改進,可讓您更輕鬆地在 Xamarin.iOS 應用程式中實作遊戲圖形和音訊。 這些包括透過高階架構輕鬆開發,以及利用 iOS 裝置 GPU 的強大功能,以提升低階增強功能的速度和圖形能力。

這包括GamesKit、ReplayKit、Model I/O、MetalKit 和金屬性能著色器,以及金屬、SceneKit 和 SpriteKit 的全新增強功能。

如需詳細資訊,請參閱我們的 遊戲增強 功能檔。

HomeKit 架構變更

iOS 8 中引進的 HomeKit 架構可讓您從 Xamarin.iOS 應用程式安裝及控制各種已啟用 HomeKit 的配件(例如自動燈、門鎖和車庫門打開器)。 除了易於設定和設定之外,HomeKit 配件還可以透過語音 Siri 命令來控制。

在iOS 9中,Apple讓設定更容易、擴充支援的配件類型,並提供更多的配件互動(例如透過iCloud 從遠端控制配件)。

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

交接架構變更

交接(也稱為 Continuity)是由 Apple 在 iOS 8 和 OS X Yosemite (10.10) 中引進的,這是使用者在其其中一部裝置上啟動活動的方式(iOS 或 Mac),並在另一部裝置上繼續相同的活動(如使用者的 iCloud 帳戶所識別)。

iOS 9 中擴充了交接功能,也支援新的增強型搜尋功能。 如需詳細資訊,請參閱我們的 搜尋增強功能 檔。 如需使用 Handoff 的詳細資訊,請參閱 我們的 Handoff 簡介檔。

新的擴充點

在 iOS 8 中,Apple 引進擴充功能 — 作業系統在標準內容中呈現的連結庫,例如在通知中心、使用者要求鍵盤時,或編輯相片時。

透過 iOS 9,Apple 提供數個新的 擴充點 來定義使用原則,並提供 API 以在指定區域內運作,藉此擴充擴充功能支援,如下所示:

  • 新的音訊單元延伸點 – 使用此擴充點 提供音訊效果、樂器、聲音產生器等,以用於其他音訊單元主機應用程式(例如 GarageBand)。 此延伸點也可讓您在 App Store 上銷售 音訊單元 (音訊外掛程式)。
  • 新的索引維護延伸點 - 使用此擴充點 來支援重新編製應用程式數據索引,而不需要重新啟動應用程式。
  • 新的網路延伸點 (這些需要 Apple 的特殊許可權):
    • 應用程式 Proxy 提供者擴充 功能 - 使用此擴充點來實作自定義透明用戶端網路 Proxy。
    • 篩選數據提供者/篩選控制提供者延伸模組 - 使用這些擴充點在裝置上實作動態網路內容篩選。
    • 封包通道提供者擴充 功能 - 使用此擴充點來實作自定義 VPN 通道通訊協定用戶端。
  • 新的 Safari 擴充點
    • 內容封鎖延伸 模組 - 使用此擴充點來定義使用者瀏覽網頁時不會顯示之封鎖的內容清單。
    • 共用連結延伸 模組 - 使用此延伸模組點,以在 Safari 的共用連結中檢視您的應用程式內容。

如需詳細資訊,請參閱我們的 延伸模塊 簡介和Apple 應用程式延伸模組程序設計指南 檔。

Keychain 增強功能

在iOS 9中,Apple已增強Keychain,為安全記憶體保護區提供新的加密密鑰類型,以及更多專案保護選項,如下所示:

  • 修改指紋資料庫時,會使Keychain專案失效的新Touch ID條件約束。
  • 允許使用觸控標識碼或密碼建立 存取控制 清單專案的新條件約束。
  • 新的驗證內容,可讓您叫用與呼叫不同的 SecItem 驗證。
  • 存取控制 針對應用程式提供的金鑰鏈專案加密列出 entropy (使用應用程式密碼選項)。
  • 支援在安全記憶體保護區內產生和使用密鑰(透過 kSecAttrTokenIDSecureEnclave 屬性)。

如需詳細資訊,請參閱 Xamarin.iOS 中的觸控標識碼和臉部標識碼。

從右至左的語言支援

在 iOS 9 中,Apple 透過提供從右至左語言的完整支援,讓呈現翻轉的使用者介面比以往更容易。 這包括下列項目:

  • 標準 UIKit 控制件會根據 iOS 裝置的地區設定和語言設定,自動由右至左翻轉。
  • UIView 類別提供屬性,可讓您定義在由右至左翻轉時,指定的檢視應該如何顯示。
  • 使用UIImage類別的 FlipsForRightToLeftLayoutDirection 屬性,以程式設計方式翻轉影像的能力。

如需詳細資訊,請參閱Apple支援 由右至左的語言 檔。

其他架構變更

除了上述主要變更之外,Apple 還對數個適用於 iOS 9 的現有架構進行了修改和改進,包括下列各項:

  • AV Foundation Framework
  • AVKit 架構
  • CloudKit Framework
  • Foundation Framework
  • Handoff Framework
  • HealthKit 架構
  • HomeKit 架構
  • 本機驗證架構
  • MapKit 架構
  • PassKit 架構
  • Safari 服務架構
  • UIKit 架構

如需詳細資訊,請參閱我們的 其他 iOS 9 架構變更 檔。

已被取代的 API 和函式

Apple 已在 iOS 9 中取代下列 API 和函式:

  • 通訊錄和通訊錄 UI - 這些 API 已由聯繫人和連絡人 UI 架構取代。 如需詳細資訊,請參閱我們的 聯繫人和聯繫人 UI 檔。
  • CBCentralManager - iOS RetrievePeripherals 9 已移除 類別的 CBCentralManagerRetrieveConnectedPeripherals 方法。 呼叫這些方法會導致應用程式在配對配件或應用程式啟動時當機。
  • FetchAllChanges - 類別 FetchAllChangesCKFetchRecordChangesOperation 已淘汰,並將在 iOS 9 中移除。
  • 媒體播放器 - iOS 9 中已淘汰 媒體播放器 架構。 請改用AVKit或AV Foundation API。

如需特定 API 取代的完整清單,請參閱 Apple 的 iOS 9.0 API 差異 檔。