iOS9_10_TodayExtChanged

最近因為某支螢幕錄影程式在 iOS 9 發生錄影不能的問題,於是掐一下把手機版本升到 iOS 10,一堆掛載在通知中心的小工具都得因應修正,然後就陷入程式改版的輪迴了。

首先是 iOS 10 通知中心多了一種叫做 NCWidgetDisplayMode 的顯示屬性,分成兩種:

  • NCWidgetDisplayModeCompact:用 Xcode 8 重新編譯之後預設是這種,也就顯示範圍不能變動大小,因此本來計算顯示大小的程式碼,在重編後會失效。
  • NCWidgetDisplayModeExpanded:可以透過顯示區塊右上方的「顯示更多/顯示更少」按鈕來切換大小。按鈕只能由用戶去點擊,開發者無法操控。

換言之,程式用 Xcode 8 編譯支援 iOS 10 之後,得加入這個新功能,否則全部內容不會顯示出來。

再來是顯示風格的變化。iOS9 是預設暗色系,iOS 10 是預設亮色系,所以本來以 iOS 9 預設暗色系設計的風格,如字體顏色+透明底圖讓半透明背景透色出來的做法,到了 iOS 10 上面就會完全不適用,因為字體會被半透明白色底圖吃掉。若要同時對應 iOS9 跟 iOS 10,就得加(程式)碼把兩種風格整合在一起。

現階段支援 iOS 9 是一定要的,因為 A5 CPU 的機器只能升到 iOS 9,而 A6 CPU 的機器(iPhone 5/5c/iPad 4th)升到 iOS 10 就會變更慢,降到不太堪用的程度,所以不少老用戶仍守在 iOS 9。

趕緊查了一下 StackOverflow,早有仙人提供了完整的做法,我真是後知後覺...至於風格跟整合的問題,只好辛苦點,再多打些字判斷 iOS 版本和風格設定囉!

 

arrow
arrow

    benjenq 發表在 痞客邦 留言(0) 人氣()