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 版本和风格设定啰!

 

相关文章