• Xcode14&iOS16对开发者的影响


    升级到iOS16后带来的影响

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


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

    开发者模式

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

    在这里插入图片描述

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

    iOS系统升级

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

    iOS系统升级

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

    iOS系统升级

    企业证书

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

    TestFlight

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

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

    iOS系统升级

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

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

    iOS系统升级

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

    剪贴板

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

    iOS系统升级

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

    iOS系统升级

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

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

    需要在工程引入SwiftUI

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

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

  • 相关阅读:
    数字化管理平台建设实践
    RK3399交叉编译问题
    主管发话:一周搞不定用友U8 ERP跨业务数据分析,明天就可以“毕业”了
    java计算机毕业设计vue校园菜鸟驿站管理系统MyBatis+系统+LW文档+源码+调试部署
    C语言 —— 函数栈帧的创建和销毁
    APK的常规反编译
    Robotframework 的简介及其工作原理~
    【leetcode】【2022/9/12】1608. 特殊数组的特征值
    Linux软件管理之RPM的五种操作模式—这篇总结你一定能读懂
    14、学习MySQL 连接的使用
  • 原文地址:https://blog.csdn.net/Locationluqc/article/details/127728691