Xcode14&iOS16对开发者的影响

升级到iOS16后带来的影响

苹果一年一大版本,在2022年9月12日正式发布了iOS16


笔者升级到iOS16发现带来的影响如下:

开发者模式

在iOS16以前,添加设备UDID到证书的开发者app,默认是允许自由打开应用,而在iOS16,增加了【开发者模式】,顾名思意,跟安卓一样,开启开发者模式,才能进行调试。

Xcode14&iOS16对开发者的影响_第1张图片

默认iOS系统开发者模式是关闭的,打开方式,在设置 -> 隐私与安全性 -> 开发者模式

Xcode14&iOS16对开发者的影响_第2张图片

点击开启开发者模式后需要重启设备才能生效

Xcode14&iOS16对开发者的影响_第3张图片

设备重启后 系统会有2次弹窗需要确认才能开启开发者模式,并提示开启会“your device security will be reduced.”(降低系统的安全性)

Xcode14&iOS16对开发者的影响_第4张图片
Xcode14&iOS16对开发者的影响_第5张图片
企业证书

企业证书应用出包不受【开发者模式】影响,但需要信任证书才可以运行

TestFlight

目前【开发者模式】影响TestFlight应用的打开,iOS16以上安装TestFlight推送过来的应用,需要开启【开发者模式】,否则应用无法打开

理论上TestFlight上推送过来安装的应用无需开启开发者模式就可正常打开,目前苹果开发者文档显示已知悉这个问题,希望苹果下个版本会做更新修复

Xcode14&iOS16对开发者的影响_第6张图片

Xcode14出的framework在低版本Xcode编译报错

iOS16系统升级,伴随着Xcode也升级到Xcode14,在开发中发现相同工程代码,在Xcode14编译出的SDK库,在Xcode14以下会出现编译报错,如下:

Xcode14&iOS16对开发者的影响_第7张图片

遇到此类编译报错,需要检查Xcode版本是否低于14,如果版本低于Xcode14,需要升级Xcode到当前最新版本,打开Xcode后需要clean一遍,才可以编译通过。

剪贴板

从iOS14开始,app读取**剪贴板*时,在app顶部会显示一行提示内容:

Xcode14&iOS16对开发者的影响_第8张图片

苹果从2019年开始推行了SwiftUI,app读取剪贴板时,在app顶部显示的一行文字提示,这个顶部提示是用SwiftUI开发的,从iOS16开始,当app要读取剪贴板时,会被明确询问用户是否要允许它

Xcode14&iOS16对开发者的影响_第9张图片

注:目前没有永久授予或永久拒绝的配置,是系统层控制,也不需要开发者声明。所以,每次app尝试读取您的剪贴板时,都会弹出一次这个弹窗!

开发者需要注意的问题是:SwiftUI是在2019年iOS13之后推出来的,app读取剪贴板时,在app顶部显示的一行文字提示,用到了SwiftUI组件,如果在开发中有用到Swift去读取剪贴板,需要做iOS版本适配。

需要在工程引入SwiftUI

Xcode14&iOS16对开发者的影响_第10张图片

注:如果用到Swift中的剪贴板,没有引入SwiftUI库,会导致低于iOS14的设备读取剪贴板闪退

研发以及需要集成其他第三方SDK库的开发者,需要注意集成的库有没有用到Swift中的剪贴板,考虑到要适配低于iOS14的设备,最好不要集成带Swift读取剪贴板的库。

你可能感兴趣的:(自我总结,xcode,ios,iphone)