农民 发表于 2024-8-7 04:04:14

Xcode 15新特性与iOS 17适配要点

Xcode 15新特性

在 WWDC 23 上 Apple 推出了 Xcode 15,相比力 Xcode 14,它有如下的变革。
项目



[*] 安装包的大小继续减小,安装速度继续提升,由于 iOS 的 Components 也需要动态下载安装,否则提示iOS 17.0 Not Install,平台不同提示略有不同。
[*] 主界面的菜单图标与名称发生变革。
[*] 创建 iOS 项目时,增加了Storage选项,不再有Use Core Data选项。
[*] 导航区的第三个菜单 Symbol navigator 更换为 Bookmark navigator。
[*] 调试区的菜单发生变革,并且输出的内容随着不同的级别拥有不同的背景色。
[*] Archive 时的 Distribute App 界面发生变革。
功能



[*] Assets 中的创建的Image Set与Color Set可以生成类型安全的标识符,在程序中可以.标识符的形式访问。
struct ContentView: View {
    var body: some View {
      VStack {
            Color(.colorSet) // Color Set
            
            Image(.imageSet) // Image Set,只是新建不行,还必须有图片
      }
      .padding()
    }
}


[*] UIKit、AppKit 与 WidgetKit 均可以通过宏(macro)#Preview实现雷同 SwiftUI 的及时预览。
// UIKit
#Preview {
    UIKit 预览内容,可以是 UIView 或者 UIViewController
}

// AppKit
#Preview {
    AppKit 预览内容,可以是 NSView 或者 NSViewController
}

// WidgetKit
#Preview(as: 预览尺寸) {
    Widget
} timeline: {
    TimelineEntry
}


[*] 增加 Documentation Preview,文档也支持预览。
[*] 代码支持添加 Bookmark,在某一行代码大概选中多行代码,然后右击,可以看到相应的添加菜单。可以在 Bookmark navigator 中查看添加的全部 Bookmark。
[*] 条件编译代码随着选择的条件会高亮显示对应条件的编译代码。
[*] 右击菜单 Show Quick Help 可以显示更加丰富的文档内容。
[*] 编辑代码时 Quick Actions 可以快捷访问对应内容的全部菜单,快捷键command + shift + A。
[*] 碰到多参数的方法时,可以通过键盘方向键 —> 显示全部大概的参数组合。
[*] 编辑完多参数的方法后,假如觉得格式不得当阅读,可以通过右击 Refactor —> Format to Multipl Lines 进行格式化。
[*] 代码提示功能进一步加强。
iOS 17适配要点

同样在 WWDC 23 上 Apple 发布了 iOS 17,推出了很多新的内容。

[*] 增加了 UIContentUnavailableView,UIView 与 UIViewController 都可以设置数据为空时的占位视图。
[*] UIFont.TextStyle 增加了新的超大字体样式extraLargeTitle与extraLargeTitle2。
[*] UIImageView 支持显示 HDR 图片。
[*] UIImageView 增加了 Symbol Animations,通过addSymbolEffect()与removeSymbolEffect()方法可以实现 SF Symbols 图标的添加与移除动画。
[*] UIButton 也增加了 Symbol Animations,使得按钮中使用的 SF Symbols 图标可以出现动画。
[*] UITextField 增加了新的birthdate与creditCard相干的 textContentType。
[*] UIPageControl 增加了类型为 UIPageControlTimerProgress 的参数progress,可以根据指定的时间主动切换。
[*] UICollectionView 效率大幅提升。
[*] UICollectionViewCompositionalLayout 中的 NSCollectionLayoutSize 增加了一个新的形貌方法uniformAcrossSibling(),可以根据内容自顺应布局。
[*] UIMenu 与 UIAction 增加了新的构造方法,可以设置更多内容。
[*] UIMenu 增加了新的显示模式displayAsPalette。
[*] UIViewController 增加了新的生命周期函数viewIsAppearing(),调用机遇介于viewWillAppear()与viewDidAppear()之间,并且兼容到 iOS 13。
[*] 弹簧动画增加了新的专属 API。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Xcode 15新特性与iOS 17适配要点