最近网传苹果强制要求微信夜间模式,否则微信APP在苹果商店有被下架的风险。所谓手机APP的夜间模式就是降低APP使用时的亮度,省电而且能够在夜间起到保护视力的作用。微信一直没有推出夜间模式官方的初衷是让微信用户不要使用到太晚而影响了正常休息。
而事实是苹果的暗黑模式针对所有苹果商店的APP,而且也是一个可选项。为了优化用户体验,微信与苹果达成合作,在共同探索微信在iOS系统的暗黑模式体验,目前该功能已完成开发,将有望在下一个新版本中上线。
透过这个事件,作为开发者想到的是:手机APP的夜间模式是如何实现的呢?
首先夜间模式与日间模式的颜色RGB值分别写入plist文件,将日间模式定为系统的默认模式。需要创建三个plist文件。pliast A 用来存放模式(日间/夜间);pliast B 用来存放日间模式下的RGB颜色值,写入group中;plist C 用来存放夜间模式下的RGB的颜色值,写入floder中。其中 B 与 C 中相同的颜色值名字 key 对应的Value值(RGB 值)是不一样的,这样在检测到通知改变的时候,系统就根据当前的主题模式去根据路径寻找对应的plist A 或者 B文件,然后通过一个将RGB值转化为对应的颜色值的方法,进行改变页面的颜色,不仅能改变背景色,也可以通过这个方法改变一些控件的颜色值。
手机APP开发找专业团队小溪畅流。