查看原文
其他

Xcode 15一些有意思的更新点

Vong Vong 2023-12-11

文章内容主要截取自 Session What's New In Xcode[1]Xcode 15 Beta Release Note[2]

安装包体积

体积更小了,因为 iOS 模拟器也不再内置了,Xcode 安装完后需要补充下载 iOS 模拟器

代码补全

  • 在新建文件里定义class或者struct是会以文件名自动补全类名或结构体名称
  • View 后面输入修饰符时会自动将该视图最常用的修饰符放在最前面,而且还会感知上下文,比如 text 设置了 font 接下来会给你 bold 修饰符,StackpaddingTextfontImageresize

资源管理

  • asset 里的图片、颜色也会自动生成符号,这样后续被改名了,会编译报错(Swift、Objectiver-C 均支持)

  • Objectiver-C 需要导入 GeneratedAssetSymbols.h 头文件,然后使用生成的字符串常量

  • Swift 则是直接 Image(.appleLogo)UIImage(resource: .appleLogo),Color 也类似,appleLogo 是它在 asset 中的名字

  • 自动生成资源符号编译器是默认开启的,如果想要禁用可以将编译选项 “Generate Asset Symbols” (ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS) 设置为NO

    编译选项
  • 可以把之前的多语言文件(.string)转换为 string catalog,有一期专门的 session 来讲 Discover String Catalogs

文档能力

  • 代码文档也增强了,增加了实时预览功能,Editor->assistant->Documentation Preview,也有一集专门的 Session Create rich documentation with Swift-DocC

编辑器

  • Vim 模式现在支持 gd 来跳转到代码定义处

  • 新增了快捷键 Cmd + shift + A 来执行一些快捷命令,有点 Alfred/Raycast 那味了

快捷命令

预览

  • 可以使用新的 Swift 宏,来预览 UIKit/AppKit 的内容
  • 基于时间线的 Widget 小组件也支持预览了

导航

  • 可以添加书签了,并且可以给书签添加自定义描述,终于不需要用断点来搞了
代码书签
  • 还可以自定义分组,可以用做 todo list
自定义分组 + todo list
  • 某些搜索条件(query)也可以作为书签,这样满足搜索条件的搜索结果会归类在这一条件的书签下,如果后续有新增满足条件的,只需要点击刷新按钮即可更新最新结果

源码控制

  • 可以区分 stageunstage 两种状态,前者为浅蓝
状态区分

可以直接在 Xcode Source Controlreview 变更(类似 SourceTree、Fork 这种 GUI 工具),然后查看可以拖拽查看更多上下文

测试

  • 单测运行速度比以往快了 45%(使用 Swift 重写)
  • 测试报告展示也更条理清晰,还能查看测试回放(UI 测试),更多可以参看 Fix failures faster with Xcode test reports

调试

  • Console 对于 OSLog 的全新支持,可以在 console 中进行多维度过滤筛选以及展示的内容;
  • 右键点击某一条 log 还能够直接跳到对应源码处
  • 更多内容可以查看 Debugging with structured logging

发布

  • Xcode Cloud 的两点增强
    • 可以直接添加 TestFlight 的测试内容(类似更新说明)
    • pipeline 流水线中添加一个 Post Action 来 Notarize Mac 应用
  • XCFramework 的作者也可以通过 PrivacyInfo.plist 中声明框架会访问哪些隐私数据
  • 可以直接搜集引入的 XCFramework 所涉及到的隐私访问,进而可以告知用户;
XCFramework数字签名及隐私声明

更多可以查看 Verify app dependencies with digital signature 及 Get started with privacy manifest Xcode 15 现在还支持 TestFlight 的内部测试(内测版本)

内部测试版本方式一
内部测试版本方式二

更多查看 Simplify distribution with Xcode and Xcode Cloud

参考资料

[1]

What's New In Xcode: https://developer.apple.com/videos/play/wwdc2023/10165/

[2]

Xcode 15 Beta Release Note: https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存