iOS 8 簡介
有了iOS 8,Apple提供了大量的新架構和API,讓開發人員興奮和高興。 在本指南中,我們將介紹這些新的 API,並瞭解 iOS 8 如何讓開發人員和使用者受益。
iOS 7 在視覺上從第一個 i 電話 OS 變更了使用者和開發人員所預期的整個 iOS 使用者介面。 IOS 8 會藉由為開發人員提供許多架構,讓使用者直接從 i 電話 控制生活的各個層面。 例如,健康情況和健身可以使用 HealthKit 進行分析,密碼是使用 LocalAuthentication 進行生物特徵辨識驗證的過時,應用程式延伸模組會開啟第三方應用程式之間的通道,而 HomeKit 可讓您將房子變成未來的家。
如果 iOS 7 是讓用戶滿意,iOS 8 著重於讓開發人員滿意這些美味的新工具。
本指南介紹適用於 Xamarin.iOS 開發人員的新 API。
iOS 8 中也有一些 API 已被取代,這份文件結尾詳述。
需求
在 Visual Studio for Mac 中建立 iOS 8 應用程式需要下列專案:
- Xcode 7 和 iOS 8 或更新版本 – Apple 最新的 Xcode 和 iOS API 必須在開發人員的電腦上安裝和設定。
- Visual Studio for Mac – 應在使用者裝置上安裝及設定最新版本的 Visual Studio for Mac。
- iOS 8 裝置或模擬器 – 執行最新版 iOS 8 的 iOS 裝置進行測試。
家庭和休閒
iOS 8 已協助牢牢地種植 Apple,而 iOS 裝置透過使用 HomeKit 和 HealthKit 直接進入您家的核心。 在本節中,我們將探討這兩個新架構的運作方式,以及如何將其整合到您的 Xamarin.iOS 應用程式中。
HomeKit
從 i 電話 控制您的電器不是新技術的新應用;許多連線家庭產品可以透過 iOS 應用程式來控制。 不過,HomeKit 現在會進一步提升家庭自動化裝置的通用通訊協定,並讓某些製造商使用公用 API,例如 iHome、Philips 和 Honeywell。 對使用者而言,這表示他們幾乎可以從一個應用程式內順暢地控制其家的各個層面。 他們知道他們使用菲力浦休燈泡或巢狀警報是無關緊要的。 使用者也可以將許多智慧型手機家庭程序鏈結到「場景」中。
使用 HomeKit,第三方應用程式和 Siri 可以探索配件,並將其新增至其個人家庭設定資料庫、編輯及處理此數據,以及與配件及其服務通訊以執行動作。
組態
下圖顯示 HomeKit 配件設定的基本階層:
若要開始使用 HomeKit,開發人員必須確定其布建配置檔已選取 HomeKit 服務。 Apple 也為開發人員提供適用於 Xcode 的 HomeKit 模擬器載入宏。 這可在Apple開發人員中心的下Hardware IO Tools for Xcode
找到。
HealthKit
HealthKit 是在iOS 8中引進的架構,可提供集中式、協調且安全的數據存放區,以取得健康情況相關信息。 操作系統可確保健康情況資訊的隱私權和安全性,並使用健康情況應用程式,為使用者提供儀錶板。 透過使用者的許可權,應用程式可以讀取和寫入各種不同的健康情況資訊。
如需在 Xamarin.iOS 應用程式中使用此項目的詳細資訊,請參閱 HealthKit 簡介指南。
擴充 i 電話 功能
有了 iOS8,開發人員可以更充分掌控誰可以使用其應用程式,並增加第三方應用程式之間更開放通訊的功能。 應用程式延伸模組和文件選擇器等功能為應用程式在Apple生態系統中的使用方式開闢了一個可能性的世界。
應用程式延伸模組
應用程式延伸模組,以過度簡化,是第三方應用程式彼此通訊的方式。 為了維持高安全性標準並維護沙盒化應用程式的完整性,此通訊不會直接在應用程式之間發生。 相反地,它是由中間的 延伸模組 所執行。
建立應用程式延伸模組的第一個步驟是定義正確的擴充點,這在確保正確 API 的行為和可用性方面很重要。 若要在 Visual Studio for Mac 中建立應用程式延伸模組,請將新專案新增至您的方案,將其新增至現有的應用程式。
在 [新增專案] 對話框中,流覽至 C#>iOS>整合 API>延伸模組,如下列螢幕快照所示:
[新增專案] 對話方塊提供七個新的專案範本來建立應用程式延伸模組,如下所述。 請注意,許多擴充功能都與 iOS 中的其他新 API 相關,例如文件選擇器:
- 動作 – 這可讓開發人員建立唯一的自定義動作按鈕,讓使用者執行特定工作
- 自定義鍵盤 – 這可讓開發人員藉由新增自己的自定義鍵盤,新增至內建 Apple Keyboard 的範圍。 Swype 是熱門的鍵盤,會使用此方式將其鍵盤帶入 iOS。
- 檔案選擇器 – 其中包含文件選擇器檢視控制器,可讓使用者存取應用程式沙箱外部的檔案。
- 檔案選擇器檔案提供者 – 這會使用文件選擇器為檔案提供安全的儲存空間。
- 相片編輯 – 這會擴充 Apple 在 [相片] 應用程式中提供的篩選和編輯工具,讓使用者在編輯相片時有更多控制權和更多選項。
- 今日 – 這可讓應用程式能夠在通知中心的 [今日] 區段中顯示小工具。
如需在 Xamarin 中使用應用程式延伸模組的詳細資訊,請參閱 應用程式延伸模組 簡介指南。
Touch ID
iOS 7 中引進觸控標識碼作為驗證使用者的方法,類似於密碼。 不過,僅限於使用 App Store、使用 iTunes 和驗證 iCloud 金鑰鏈來解除鎖定裝置
現在有兩種方式可以使用 Touch ID 作為 iOS 8 應用程式中使用本機驗證 API 的驗證機制。 目前無法使用本機驗證從遠端進行驗證。
首先,它透過使用新的 Keychain 存取控制 清單 (ACL) 來協助現有的 Keychain 服務。 金鑰鏈數據可以使用用戶指紋的成功驗證來解除鎖定。
其次,LocalAuthentication 提供兩種方法在本機驗證您的應用程式。 開發人員應該使用 CanEvaluatePolicy
來判斷裝置是否能夠接受觸控標識碼,然後 EvaluatePolicy
啟動驗證作業。
如需 Touch ID 的詳細資訊,以及瞭解如何將其整合到 Xamarin.iOS 應用程式中,請參閱 Xamarin.iOS 指南中的觸控標識碼和臉部標識碼。
文件選擇器
檔案選擇器可與 iCloud 磁碟驅動器使用者搭配使用,讓用戶開啟已在不同應用程式中建立的檔案,匯入和操作檔案,然後再次匯出。 這會為使用者建立直覺式工作流程,因此提供更好的體驗。 iCloud 同步處理會進一步進行此一個步驟,一個應用程式中所做的任何變更也會一致地反映在所有裝置上。
若要深入了解檔選擇器,以及如何將其整合到 Xamarin.iOS 應用程式中,請參閱 檔選擇器 簡介指南。
遞交
交接是較大持續性功能的一部分,在整合OS X和iOS方面邁出一步。 這包括跨平臺 AirDrop、能夠接聽 i 電話 通話、iPad 和 Mac 上的 SMS,以及從 i 電話 系結的改善。
Handoff 可與 iOS 8 和 Yosemite 搭配運作,而且需要 iCloud 帳戶登入您想要使用的所有不同裝置。 它應該使用大部分預安裝的Apple 應用程式,包括Safari、iWork、地圖、行事曆和連絡人。
如需詳細資訊,請參閱我們的 遞交 指南。
整合的 Storyboard
iOS 8 包含一個新的更簡單的機制來建立用戶介面,也就是統一的分鏡腳本。 使用單一分鏡腳本來涵蓋所有不同的硬體螢幕大小,即可以真正的「設計一次,使用許多」樣式來建立快速且回應式的檢視。
在 iOS8 之前,開發人員用來 UIInterfaceOrientation
區分直向和橫向模式,以及 UIInterfaceIdiom
區分 iOS 裝置。 在 iOS8 中,不再需要為 i 電話 和 iPad 裝置建立個別分鏡腳本,方向和裝置是使用大小類別來決定。
每個裝置都是由 Size 類別定義,在垂直軸和水平軸中,iOS 8 中有兩種類型的大小類別:
- 一般 - 這是針對大型螢幕大小(例如 iPad)或小工具,提供大尺寸的印象(例如 UIScrollView
- 精簡 - 這是針對較小的裝置(例如 i 電話)。 此大小會考慮裝置的方向。
如果兩個概念一起使用,結果會是 2 x 2 方格,定義可用於兩個不同方向的不同可能大小,如下圖所示:
如需大小類別的詳細資訊,請參閱 整合分鏡腳本簡介。
照片套件
Photo Kit 是新的架構,可讓應用程式查詢系統映像庫,並建立自定義使用者介面來檢視及修改其內容。 它包含一些類別,這些類別代表影像和視訊資產,以及專輯和資料夾等資產集合。
如需詳細資訊,請參閱我們的 PhotoKit 指南。
遊戲
場景套件
Scene Kit 是 3D 場景圖形 API,可簡化使用 3D 圖形。 它最初是在OS X 10.8中引進,現在已推出iOS 8。 使用 Scene Kit 建立沉浸式 3D 視覺效果和休閒 3D 遊戲不需要 OpenGL 的專業知識。 在常見的場景圖形概念上建置,Scene Kit 會抽象化 OpenGL 和 OpenGL ES 的複雜度,讓您輕鬆地將 3D 內容新增至應用程式。 不過,如果您是OpenGL專家,Scene Kit也非常支援直接與OpenGL搭配使用。 它也包含許多功能,可補充 3D 圖形,例如物理,並與數個其他 Apple 架構非常整合,例如 Core Animation、Core Image 和 Sprite Kit。
如需詳細資訊,請參閱我們的 SceneKit 檔。
Sprite Kit
來自 Apple 的 2D 遊戲架構 Sprite Kit 在 iOS 8 和 OS X Yosemite 中有一些有趣的新功能。 其中包括與 Scene Kit、著色器支援、光源、陰影、條件約束、一般地圖產生和物理增強功能整合。 特別是,新的物理特徵可讓您輕鬆地將現實效果新增至遊戲。
如需詳細資訊,請參閱我們的 SpriteKit 檔。
其他變更
除了上述 iOS 8 的重大變更外,Apple 也已額外更新許多現有的架構。 以下詳述如下:
- 核心影像 – Apple 已藉由新增更好的矩形區域偵測支援,以及影像內的 QR 代碼,來擴充其影像處理架構。 Mike Bluestein 在他的部落格文章中探索這一點, 題為iOS 8中的影像偵測
已被取代的 API
隨著 iOS 8 中所做的所有改進,許多 API 已被取代。 以下是其中一些詳細數據。
UIApplication – 用於註冊遠端通知的方法和屬性已被取代。 這些是 registerForRemoteNotificationTypes 和 enabledRemoteNotificationTypes。
UIViewController – Traits 和 size 類別已取代用來描述介面方向的方法和屬性。 如需 如何使用這些腳本的詳細資訊,請參閱整合分鏡腳本 簡介。
UISearchDisplayController – 此專案已由 iOS8 中的 UISearchController 取代。
摘要
在本文中,我們已探討Apple在iOS 8中引進的一些新功能。