面向開發人員的 iOS 9 Beta 和 WatchOS 2

已發表: 2022-03-11

Apple 最新的移動操作系統已經發布,如果您是 iOS 開發人員,您需要了解以下內容。 iOS 9.x 中的變化不僅僅是膚淺的,儘管缺乏徹底的重新設計可能會讓不經意的觀察者得出結論,這不是一個大更新。 這是進化的一步,iOS 9.x 沒有什麼革命性的東西,但它確實具有一些新功能。

我們已經介紹了 3D Touch,它將用於更新的 6S 系列 iPhone,但這只是 iOS 9.x 中值得一提的一項功能。 新的更新還帶來了許多面向平板電腦的調整,考慮到蘋果決定推出專注於生產力的超大 iPad Pro,這是可以理解的。 iPad 的多任務處理將變得更好,因為它將包括拆分視圖、滑過和畫中畫模式。

Android 和 Microsoft 開發人員可能會說他們的平台已經具備這樣的功能,他們是對的:Apple 遲到了,而 iOS 在多任務處理方面落後於 Android 多年。

然而,除了多任務處理和生產力應用程序之外,iOS 9.x 還擁有許多專為內容消費而設計的功能。 Apple 對 SceneKit、SpriteKit 和 Metal 進行了調整,允許 iOS 遊戲開發人員使用一些高級功能並使遊戲更加精緻。 搜索正在更新,內容索引、歷史記錄和網絡標記更好。

哦,別忘了 3D Touch,這是 Apple 針對 Force Touch 的營銷演講。 當 iOS 9 發佈時,我已經詳細介紹了這個主題,如果你錯過了,你需要檢查一下,因為我認為重複它並在新帖子中添加絨毛是沒有意義的。

那麼這次我們應該關注什麼?

iOS 9 中的多任務處理

我想多任務處理將是一個很好的起點,只是為了讓它不礙事,讓 Android 開發人員不必滾動瀏覽整篇文章,就可以寫一些我們多年來一直有的居高臨下的評論。

蘋果在 iOS9 中增加了三種不同的多任務模式:

  • 拆分視圖
  • 滑過
  • 畫中畫 (PiP)

看看為什麼 iOS 9.x 中的多任務處理對 iPad 用戶和 iOS 開發者來說是一個福音。

看看為什麼 iOS 9.x 中的多任務處理對 iPad 用戶和 iOS 開發者來說是一個福音。
鳴叫

拆分視圖是一個熟悉的概念。 這兩個應用程序並存,與 Windows 8.x 和一些基於 Android 的平板電腦(三星)的方式非常相似。 例如,用戶可以拖動應用程序並設置其準窗口的大小,例如在瀏覽器旁邊放置一個 Skype 條。

Slide over 類似於拆分視圖,但它在屏幕右側的用戶調用疊加層中顯示第二個應用程序,允許用戶快速選擇一個應用程序並與之交互。 應用程序以垂直條顯示,類似於 Android 4.x 上的應用程序切換器。

畫中畫,通常用於視頻,允許用戶在一個小框架中查看應用程序。 例如,如果您正在觀看電視節目並收到 Skype 消息,您可以在將視頻保留在 PiP 幀中的同時進行回复。

所有三種模式都可以同時使用,因此您可以在 iPad 以拆分視圖顯示兩個應用程序時擁有畫中畫框。

Apple 正在敦促開發人員採用滑動和拆分視圖,除非他們有特定的理由不這樣做。 相機應用程序和完整設備應用程序(例如游戲)被列為例外。 至於畫中畫,它是為視頻應用程序設計的,即使你有視頻應用程序也可以選擇退出,但不一定要支持畫中畫。

我還應該注意,Xcode 7 中的每個 iOS 應用程序模板現在都預先配置為支持滑動和拆分視圖。 還有一個警告:大多數 iPad 不支持拆分視圖。 實際上,它僅在 iPad Air 2 和 iPad Pro 上可用,而第一代 Air 以及 iPad Mini 2 和 Mini 3 都將提供滑蓋功能。

另一個可能讓 iOS 開發者頭疼的問題是佈局和縮放。 迄今為止,所有 iPad 都配備了 4:3 顯示屏,因此設計師習慣於在 4:3 寬高比的畫布上工作。 所有舊版應用程序在拆分視圖中看起來都正確嗎? 這取決於許多因素,因此在這一點上回答是冒昧的。 但是,如果您有很多 iPad 應用程序,請記住這一點。

Apple 已經發布了有關新的多任務模式的必要信息,因此您絕對應該查看官方 iOS 開發人員庫以獲取詳細信息。

iOS 9.1 和 9.2 Beta,市場採用率

蘋果大約一個月前發布了 iOS 9.1,iOS 9.2 測試版已經可以通過蘋果的測試版軟件計劃下載。 兩個版本都是小更新。

事實上,iOS 9.1 是迄今為止 iOS 9 的第三次更新。 它引入了對 Unicode 7 和 8 的支持,以及一系列新的表情符號(包括獨角獸)。 Xcode 已升級到 7.1 版,並且一些 Apple TV 組件也進行了更新。 還對相機進行了微調,例如更新實時照片,它利用傳感器信息來確定設備何時降低以停止錄製視頻。

iOS 9.2 測試版已經發布了大約一周,這是另一個增量更新。 它包括對 Safari 的一些更改,向 Siri 添加了對阿拉伯語的支持,並包括對 AT&T 的 NumberSync 系統的支持。 從開發人員的角度來看,沒有什麼太重要的了。

在 iOS 9 推出幾週後,Apple 表示新的移動操作系統顯示出迄今為止所有 iOS 版本中最快的採用率。 到 9 月下旬,超過 50% 的 iOS 設備已更新到 iOS 9。也就是說,很多舊設備將無法獲得更新,但所有在過去四年購買 iPhone 或 iPad 的用戶都應該沒問題。 舊款 iPhone 4 和第一代 iPad 的用戶不會獲得 iOS 9。

快速採用仍然是 Apple 的王牌。 當 Google 發布新版本的 Android 時,其硬件合作夥伴通常需要幾個月的時間才能為其設備發布更新,而且很多小品牌的設備都沒有更新。

WatchOS 2 帶來了一系列面向消費者的改進

雖然 iOS 9.x 可以被視為一個漸進的、進化的更新,但 WatchOS 2 並不是一個膚淺的更新。 新的操作系統讓 Apple Watch 可以做更多事情,為開發者創造新的可能性。 但是,無論如何,它都不會改變遊戲規則。

大多數更改都以消費者為中心,因此 WatchOS 2 包含大量應用程序更新。 例如,這款手錶現在可用於通過 Facebook Messenger 發送文本和音頻文件,iTranslate 將允許用戶快速翻譯語音,而新的 Airstrip 應用程序是一種醫療保健工具。 Siri 支持也得到了擴展,同時新增了一項允許用戶查看天氣和約會的時間旅行功能。 重新設計了音樂界面。 用戶現在可以通過語音聽寫回復電子郵件,當該睡覺時,手錶可以置於床頭櫃模式。

Apple Watch 現在無需 iPhone 即可連接到 WiFi 網絡; 它不需要係繩。 幾個月前,谷歌已經在 Android Wear 中實現了這一功能,因此蘋果也加入了這一功能也就不足為奇了。

Apple 還通過一系列新的錶盤(和重新設計的錶盤)、額外的複雜功能以及定制和組織它們的新方法來調整美學。 新的顯示設置將使屏幕壽命更長,最長可達 70 秒。

坦率地說,我覺得這些更新中的大多數都不是很令人興奮,其中一些可以說是徹頭徹尾的噱頭。

面向開發人員的 WatchOS 2

雖然更新不會為消費者帶來很多新穎的功能,但它會為開發者開闢新的可能性。 大新聞是 WatchOS 2 允許訪問更多傳感器和其他硬件組件。

開發人員現在可以將Digital Crown用於縮放以外的更多用途; 表冠可用於滾動瀏覽內容、通知等。 問題是,很少有應用會利用這些新冠功能; 它們需要一段時間才能更新以支持它們。 另一方面,允許更深入地訪問各種組件的全部目的是迫使開發人員為 Apple Watch 創建本機應用程序。

WatchOS 2 允許開發者利用額外的 Apple Watch 傳感器和輸入法。

WatchOS 2 允許開發者利用額外的 Apple Watch 傳感器和輸入法。
鳴叫

除了新的數字表冠控件,第三方應用程序還可以訪問麥克風和加速度計。

那麼並發症呢? 從開發人員的角度來看,創建、管理和定制新復雜功能的能力可能是最大的更新之一。 新的 ClockKit 框架ClockKit.framework用於管理與 Apple Watch 應用程序相關的複雜性。 該框架允許開發人員將各種數據源用於復雜功能,然後調整視覺外觀以確保與應用程序良好匹配。 一切都是使用不同ClockKit.framework類完成的,您可以查看官方 Apple ClockKit 框架參考以獲取更多詳細信息。

這些變化聽起來可能沒什麼大不了的,但從長遠來看,它們可能會改變用戶與其 Watch OS 設備交互的方式。 他們還可以創建新的用例並激勵更多開發人員為平台創建原生應用程序。

新的 WatchOS 架構

WatchOS 2 的變化並不膚淺。 Apple 重新設計了 WatchOS 架構,但好消息是這些更改不會給開發人員帶來很多問題。

在 WatchOS 的第一個版本中,WatchKit 擴展運行在用戶的 iPhone 上,但在 WatchOS 2 中它運行在 Apple Watch 上。 蘋果表示,將擴展程序移至手錶可以使 Watch 應用程序和擴展程序之間的通信“更快”,並允許該應用程序在用戶的 iPhone 不可用時工作。 還記得我之前提到的無線 WiFi 訪問嗎? 嗯,這是使它成為可能的事情之一。 這對於擴展複雜功能也很重要。

Apple 新的 WatchOS 2 架構對開發者意味著什麼?

Apple 新的 WatchOS 2 架構對開發者意味著什麼?
鳴叫

WatchKit 擴展被移至 Apple Watch 的事實並不影響其功能。 Apple 指出,Watch 應用程序和 WatchKit 擴展之間的“分工”在 WatchOS 2 中保持不變。

該應用程序仍然包含定義應用程序用於呈現信息的屏幕的故事板,而 WatchKit 擴展使用WKInterfaceController子類來管理所述屏幕。 所有交互仍由 WatchKit 框架處理。

Apple 指出,大多數時候,現有的 WatchKit 擴展代碼應該可以在 WatchOS 2 中運行。但是,將 WatchKit 擴展移至手錶的決定將改變應用程序的設計方式。 擴展將使用 WatchOS SDK 框架而不是 iOS SDK 來實現。 但是,對於 WatchOS 框架不支持的功能,開發人員仍將不得不依賴 iOS 應用程序。 這也意味著數據通常存儲在 Apple Watch 上,但如果應用程序需要來自 iOS 設備上的配套應用程序的一些數據,它會以無線方式獲取數據並將其傳輸到 Apple Watch。 開發人員將無法使用共享組容器與 iOS 應用程序交換文件。

遷移到 WatchOS 2

還值得注意的是,開發人員還不必遷移到 WatchOS 2,儘管 Apple 指出,如果開發人員認為不值得麻煩,許多功能將無法使用。 上面概述的一些架構更改可能是必要的,但在某些情況下這項工作可能會有所回報。

Apple 指出了開發人員在決定將現有應用程序遷移到 WatchOS 2 是否值得之前需要問的三個基本問題。

  • 開發者是否需要支持較早的 Apple Watch 版本?
  • 該應用程序是否嚴重依賴 iCloud 技術?
  • 手錶應用程序是否依賴來自配套 iOS 應用程序的數據?

可以使用相同的 iOS 應用程序包為 WatchOS 1 和 WatchOS 2 提供兩個版本的 Apple Watch 應用程序。 由於架構更改,WatchOS 2 應用程序必須重新編譯為單獨的可執行文件。 Apple 指出,與擁有兩個完全獨立的應用程序相比,共享代碼可能需要更多的努力並引入更多的複雜性。

由於 WatchOS 2 中的 WatchKit 擴展在 Apple Watch 上運行,它不再能夠直接訪問 iCloud 技術。 所有與 iCloud 相關的操作都必須由 iOS 配套應用程序執行。 然後數據以無線方式發送到 WatchKit 擴展,因此開發人員可能不得不改變他們在兩個設備之間管理和同步數據的方式。

遷移到 WatchOS 2:這是開發人員需要牢記的。

遷移到 WatchOS 2:這是開發人員需要牢記的。
鳴叫

由於採用了新架構,與 iOS 配套應用程序的通信也發生了變化。 如果應用程序需要來自 iOS 應用程序的數據,開發人員必須將必要的文件從 iOS 設備顯式傳輸到 WatchOS 設備。 數據必須在這兩個位置進行本地管理,開發人員需要記住 Apple Watch 上的數據不會自動備份。 必須將其發送回 iOS 設備才能進行備份。

包起來

我們在幾篇文章中介紹了 iOS 9,所以這次我決定專注於新的多任務處理功能和測試版。 由於 Apple 決定推出 iPad Pro,我發現多任務處理方面很有趣,它得到了一些好評。

與 iPad 和 iPad mini 不同的是,Pro 版更加雄心勃勃。 它是為內容消費內容創作而設計的,而老式的 9.7 英寸和 7.9 英寸 iPad 主要用於內容消費。 改進的多任務處理對於具有“專業”願望的產品至關重要。 在瀏覽 IMDB 或偶爾玩遊戲時,您不需要強大的多任務支持,但如果您需要同時編輯一些文檔、調整一些草圖和 Skype,一流的多任務支持是必須的。

通過 iPad Pro,Apple 正在尋求為 iOS 開闢新的利基市場。 該操作系統已經足夠成熟,可以用於商業,並且有了新的基於 ARM 的 A9X 處理器,Apple 有一個強大的硬件平台與之配套。 當然,蘋果在這個領域並不孤單,可以說 iPad Pro 是受到微軟 Surface Pro 平板電腦的“啟發”。 Apple 決定將其移動操作系統用於 iPad Pro,將 OS X 保留給 MacBook。 微軟放棄了 Windows RT(Windows for ARM)並遠離 ARM 處理器。

然而,英特爾最新的 14nm Core M 和 Cherry Trail 處理器非常節能,我有機會在一些入門級到中檔 Windows 系統(150 到 500 美元)中試用它們。 我只能說:不要低估他們。 新的英特爾硬件非常出色,Windows 10 好壞參半(至少在我看來),但定價將極具競爭力。

至於 WatchOS 2,與 iOS 9.x 相比,這是一個更大的更新。 然而,令我驚訝的是,Apple 決定在遊戲初期就重新設計其背後的基本架構。 Apple Watch 已經推出了相當長的一段時間,它在市場上被 Android Wear 手錶搶了好幾個季度。

實際上,我沒想到蘋果可穿戴操作系統的第二次迭代會發生架構變化。 也許我有不切實際的期望,但是當一家價值 6000 億美元的科技巨頭在其競爭對手之後幾個月推出產品時,我不認為它會在幾個月後重新開始。 無線 WiFi、Apple Watch 上運行的 WatchKit 擴展? 它們本可以並且應該包含在 WatchOS 1 中。

或許這就是為什麼很多第三方應用在 Apple Watch 推出時表現不佳的原因。