苹果手机适配Xcode14及iOS 16操作系统

Posted GY-93

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了苹果手机适配Xcode14及iOS 16操作系统相关的知识,希望对你有一定的参考价值。

苹果手机适配Xcode14及ios 16操作系统

2022年9月苹果发布xcode14及iOS16,苹果每年都有要求限制开发者提交市场App的xcode版本,公司为提前应对限制,做好充分时间准备。 在此记录下相关的更新的内容。

IOS16beta4 变更内容

  • 新增 UICalendarView,可以显示日期并支持单选与多选日期。
  • 新增 UIPasteControl 用于读取剪贴板中的内容,否则跨 App 读取时会弹出对话框让用户进行选择是否同意。
  • 新增一个交互 UIEditMenuInteraction,用于取代 UIMenuController 与 UIMenuItem。
  • 新增一个交互 UIFindInteraction 用于文本内容查找与替换。
  • 新增 LARightStore 用于存储与获取 keychain 中的数据。
  • UIImage 增加了新的构造函数用于支持 SF Symbols 最新版中增加的类别 Variable。
  • UIPageControl 支持垂直显示并可以设置指示器与当前页的图片。
  • UITableView 与 UICollectionView 在使用 Cell Content Configuration 时支持使用 UIHostingConfiguration 包装 SwiftUI 代码定义 Cell 的内容。
cell.contentConfiguration = UIHostingConfiguration 
    HStack 
        Image(systemName: images[indexPath.row])
            .foregroundStyle(.teal)

        Text(devices[indexPath.row])
            .font(.caption)
            .foregroundStyle(.secondary)
    

  • UITableView 与 UICollectionView 增加了新的selfSizingInvalidation参数,通过它 Cell 具备自动调整大小的能力。(selfSizingInvalidation默认不自动调整大小
  • UINavigationItem 增加了一个属性style用于描述 UINavigationItem 在 UINavigationBar 上的布局;增加了一个属性backAction用于实现当前 UIViewController 的返回按钮事件;增加了一个属性titleMenuProvider用于给当前导航栏的标题添加操作菜单。
  • UISheetPresentationController 支持自定义显示的 UIViewController 的大小。
  • UIMenu 支持设置尺寸,分别为small、medium与large。
let addNewMenu = UIMenu(title: "", preferredElementSize: .small, children: menuActions)
  • 隐私权限增强,如通过 UIDevice 获取设备名称时,无法获取用户的信息,只能获取设备对应的名称。

    • IOS16之前:
    • IOS16之后:
  • UIDevice 不再支持通过setValue()方法设置设备的方向,替换为 UIWindowScene 的requestGeometryUpdate()方法。

  • 为了支持 iOS 锁屏显示与 watchOS 表盘显示,WidgetFamily 增加了新的分类accessory。

  • UIScreen.main即将被废弃,建议使用(UIApplication.shared.connectedScenes.first as? UIWindowScene)?.screen。

  • 支持 Live Activity,可以理解为一种特殊的锁屏界面显示的 Widget。

  • 后续如再其它适配内容会持续更新

以上是关于苹果手机适配Xcode14及iOS 16操作系统的主要内容,如果未能解决你的问题,请参考以下文章

苹果手机适配Xcode13打包及IOS15系统

iOS16新特性及开发适配

iOS16新特性及开发适配

iOS16新特性及开发适配

iOS开发 适配iOS10以及Xcode8

iOS开发 适配iOS10以及Xcode8