ios 16 beta 3
现阶段 ios 16 内测版本已经出了 3 个版本,而今天要体验的 ios 16 就是最新的版本 —— ios 16 beta 3,在此可以直接通过 xcode beta ios 模拟器的方式直接体验.
安装 xcode beta 版本
通过 xcode 14.0 beta 3 可下载 xcode beta 最新版本.
下载 xip 文件成功后,再解压安装.
- xcode 14.0 beta 3 (platform: ios 16 beta 3)
- xcode 13.4.1 (platform: ios 15.5)
PS: Mac 磁盘空间至少留出 30G 方可解压安装 beta 版本,否则会总是出现’磁盘空间不足…’的提示.
Tips: xcode 正式版本至少留出 50G 才可下载解压安装.
体验 ios 16 beta 3 模拟器
步骤
此步骤是为了照顾那些第一次使用 xcode 的童鞋,这里将演示如何创建 xcode 应用,添加、选择、运行 ios 模拟器的步骤,已经熟知的童鞋可以略过.
创建新项目
选择创建 App 应用
项目以及组织、公司名称
WorkSpace、SwiftUI
选择模拟器机型以及 ios 版本
运行模拟器
特性
现在是’硬菜’,在此将与 ios 15.5对比,来分享体验 ios 16,以此来体现出 ios 16 的特性.而在对比中,为了控制变量,选用机型都为 iPhone 13 Pro.
锁屏界面个性化.
从 ios 16 开始,可以自定义锁屏界面的时间与日期样式,包含:颜色、背景、字型等,也能在锁屏加上实用小工具以快速查看,例如:天气、日历、智慧家庭等小工具. 此功能特性是 ios 16 最大的亮点,虽然在 xcode ios simulator 中 设置 -> 壁纸 -> 锁屏自定义(Lockscreen Widget) 并不存在,但可以通过锁屏右下角’相机’图标实行配置.
锁屏的变动主要围绕着个性化进行展开,时间的上下部分都被 Apple 定义为了小组件区域,上部以单行图标配文字的形式进行展现,可以根据自己的需要选择日历、股市、健身、时钟、天气五个原生类目.
时间的下部区域是模块化的小组件区域,这个区域内的小组件包含了股市、家庭、健身、日历、时钟、提醒事项、天气、电池八个原生类目.和顶部小组件不同的是,这里的组件样式更加丰富,设计感更强,大小选择也更加多样化,可以根据自己的喜好进行随意搭配.值得一提的是,锁屏的小组件 Apple 已将相关权限开放给开发者,如果 App 进行适配,后续将可以在锁屏中看到更多精彩的内容.
中间时间部分,Apple 不仅调整了占位大小,还提供了阿拉伯数字、阿拉伯印度文、天城文三种文字,每种文字包含了 6 种不同的设计.针对色彩部分,可以在最下方选择背景适配色彩,也可以选择纯白色.
在 ios 16 中,可以将自己的锁屏以及桌面与专注模式进行关联,在开启不同专注模式的同时,锁屏和桌面会自动切换到自己先前设定的方案中.在不同的环境下你可能需要接受到信息不一样,例如在家需要看智能设备的状态,在工作的时候需要看日程计划,在摄影的时候需要关心日出日落.在小组件不同的同时,也可以换一张不同的壁纸,换个壁纸也换一个心情.当然在 xcode ios simulator 模拟器中现阶段是不能添加新的壁纸,也不存在’专注模式’,进而没有办法体验.
ios 15.5 中并不能自定义锁屏,也不能自定义添加实用小工具,更不能通过锁屏右下角’相机’图标实行配置.
相册隐私加锁.
ios 16 在相册中’已隐藏’和’最近删除’选项中,已经支持加锁,增强用户对于相册中图片安全性的保护.
ios 15.5 在相册中’已隐藏’和’最近删除’选项中,并没有加锁.
主界面底部页面改进.
ios 16 在界面底部显示 banner 位置的’点’替换为新的 Spotlight 搜索气泡,在桌面直接向下滑动即可打开. 与页面点一样,可以在搜索气泡上向左或向右滑动,以加快滚动浏览其他主屏幕页面. Spotlight 支持搜索系统和应用内的文本、照片、文件等,还能进行单位、货币换算,当 iPhone 接入网络后,可以直接用关键字搜索网页.
ios 15.5 在界面底部显示 banner 位置的’点’还是原来的功能,向左或向右滑动,以加快滚动浏览其他主屏幕页面.
短信息支持撤回以及二次编辑.
ios 16 在短信息方面也做了升级,短信息支持撤回以及二次编辑发送.
ios 15.5 在短信息方面并不支持上述新功能.
键盘方言方面追加了选项.
ios 16 在键盘方面针对拼音输入追加了四川话的选项.
ios 15.5 在键盘方面则不存在此选项.
锁屏通知底部显示.
由于 ios 16 在锁屏个性化上的重大改进(自定义锁屏界面、锁屏中上部设置实用小工具),导致锁屏通知底部显示.
ios 15.5 锁屏通知仍然是屏幕中上部显示.
健康App 用药提醒
ios 16 对于有日常药物服用需求的用户,可以在「健康」>「 浏览」>「用药」中设置并管理自己日常药物.设定好药品和服用时间后,ios 可以按时提示你去服用药物,并记录服药记录.此外,还支持一键导出自己的药品清单,方便购买时使用.
ios 15.5 健康App 则不存在用药提醒这个功能.
兼容设备列表.
ios 16 已不再支持 iPhone 6S、6SPlus、7、7Plus、SE一代机型.
憾事
比较遗憾的是,ios 16 有很多做了比较大改动的新功能特性,在 xcode ios simulator 模拟器上面体验不到,下面就来例举一下.
PS: 以下所有新功能特性,都是经过网上多渠道查询得论,未作实机验证.
锁屏界面个性化.
新的壁纸类型包含人物、照片、随机、Emoji、天气、天文、颜色八个主题.其中,选择人物主题时,系统会自动检测照片中前景部分,将前景放置在组件和时间的前方,整体融合效果非常好.但在 xcode ios simulator 模拟器上现阶段是不能添加新的壁纸,且不能对壁纸实行个性化设置,如果对图片实行设置壁纸会出现莫名bug: 壁纸并没有设置,且呈为全黑.
天气和天文这两种动态壁纸,则会根据你的定位和时间,实时变化锁屏的内容.说到这里,就不得不让人联想到这些锁屏和 AOD(全天候显示)的联系.自 iPhone 13 加入了 LTPO 的显示屏,支持显示刷新率在 10Hz 和 120Hz 之间动态调整.此外,近日在解析 ios 16 代码时发现了有关 AOD 相关的字段,显示 iPhone 14 Pro 和 iPhone 14 Pro Max 可能配备该功能.当然在 xcode ios simulator 模拟器上现阶段是不能添加新的壁纸,更无法设置动态壁纸,设置壁纸也会出现莫名bug,也无法通过内置搜索进行查询,进而无法实行设置.强大的专注模式.
除了上面所提及的,专注模式与锁屏进行联动,实现锁屏壁纸和小组件的自动切换,它也可以同时定义解锁后显示某一页主屏,并切换 Apple Watch 的表盘,在 xcode ios simulator 模拟器中是不存在 ‘sspal’ 或者 ‘专注模式’ 的,进而也无法实行体验.
还提供了一项专注模式过滤条件.在这里可以针对日历、信息、浏览器、低电量模式、深色模式进行更加细致的设定.例如,当相应的专注模式开启时,日历会会被筛选,其余的日历无法查看,系统会自动开启等等.这样一来,专注模式的功能变得更加自动化、更加个性化.相信在以后的更新中,专注模式应该可以做到更多的事情.地图多途经点路线规划.
新版地图追加一项基础,但是又比较实用的功能多途经点路线规划,用户可以通过路线页面,追加自己需要到达的地点,实现途经点导航.目前该功能已在 11 个国家上线,国内上线时间未知.
而在xcode ios simulator 模拟器上则是这番场景,GPS导航打开无法规划路线,坐标显示也是错误的.
视频中的实况文本.
iOS 15 Apple 为我们带来了实况文本的功能,让我们可以找相册、相机、输入的时候快速提取到图像的文字信息,而在 iOS 16 中,Apple 再次加强了实况文本的功能,在任意包含文字的画面暂停视频,即可执行拷贝、翻译、查询、共享等操作,并且适用于照片、快速查看、Safari 和其他应用程序多种场景.
而在xcode ios simulator 模拟器上则是无法提取任何的内容,视频实况文本功能是没有加上的.
照片支持快速抠图.
在回顾 iOS 15 推出的看图查询 (Visual Lookup) 功能的时候,Apple 还向我们介绍了借助 CoreML 和神经网络引擎实现的全新的抠图功能.只要在照片上长按,可以快速抠出图片的前景部分,这个功能不仅适用于现实拍摄的照片,虚拟的动画也同样适用.将抠下来的图片按住不放,可以直接切换后台发送到即时通讯应用中.(经测试 iPhone 上 iMessage、Line 等均支持,iOS 微信暂不支持、iPadOS 微信支持).
而在xcode ios simulator 模拟器上则是无法实行对百度下载的人像抠图功能,长按没有反应,是不存在全新的抠图功能的.
技术特性以及关注点.
ios 16 为了帮助使每行的长度在视觉上保持平衡,其中 TextKit,尤其是 TextKit 2,大大改进了换行算法,对于那些想要保持与 ios 15 相同外观以及追求’UI像素完美’的开发者可要注意哦~
从上面的图中可以看出,换行算法的修改还是很大的,为了始终保持 TextKit 2 两侧的间隙相同/平衡,苹果工程师舍弃了一些外观包袱和’UI像素完美’的标准.
解决方案:
对于那些势必保持相同外观与追求’UI像素完美’的开发者来说,苹果的开发者论坛给出了可实行的方案,将 TextKit 2 替换成 TextKit 1,可以尝试一下.
Tips: 转换为 TextKit 1 方法: transform TextKit 1
调用绘制图形 OpenGL API 崩溃.
根据苹果开发者论坛 OpenGL crashes (iOS 16),当在 ios 16 beta simulator 模拟器中调用 presentRenderBuffer 时,OpenGL 崩溃,在 iOS 15 或更低版本运行正常.
解决方案:
根据苹果的开发者论坛中某开发者所给的回复,已经在 ios 16 beta 3 中进行了修复.也就证明了 beta 3 之前的 ios 16 beta 版本都有调用 OpenGL presentRenderBuffer 以及 EXC_BAD_ACCESS 会出现崩溃的情况,开发小伙伴们注意了哦~
Tips: 此回复并没有得到确认,可能还是需要实践验证一下是否可行.
Lockscreen Widget(锁屏小工具) 支持 ios 15.
有没有一种可能,在现有的 Widget Bundle 中添加 Lock Screen Widget 并仍然支持 ios 15,怎么做可以实现呢?
答案是: 根据苹果开发者论坛和 stackoverflow 可知,下续代码应该是有效的,但也亟需实践验证可行性.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25struct SomeWidgetBundle: WidgetBundle {
@WidgetBundleBuilder
var body: some Widget {
AlwaysAvailableWidget()
LockScreenWidget()
}
}
struct LockScreenWidget: Widget {
var body: some WidgetConfiguration {
if #available(iOSApplicationExtension 16.0, *) {
return StaticConfiguration(
kind: "some.kind",
provider: LockScreenWidgetTimelineProvider()
) { provider in
Text("Some view")
}
.configurationDisplayName("Some display name")
.description("Some description")
.supportedFamilies([.accessoryCircular])
} else {
return EmptyWidgetConfiguration()
}
}
}真机相机在 ios 16 beta 版本中黑屏.
真机升级至 ios 16.0 beta 版本后,相机在任何应用程序中都不起作用,呈现黑屏状态.具体在 ios 16 beta simulator 模拟器中是测不出来的,敬请开发小伙伴们注意.
解决方案:
根据苹果开发者论坛可知,现阶段还不存在解决方案,还持续存在这种情况.
总结
总得来说,ios 16 对于用户的安全性、便捷性、个性化和使用体感做的更加细致入微了,苹果在逐步将 iPhone 做的更加向纵深方向发展,而在横向创新领域,则并没有看到任何的扩展化,可能苹果是想现阶段在此 iPhone 的现功能基础上进行维护和深耕吧.