Xcode Previews 原理浅析
Xcode Previews 原理浅析
在 WWDC2019 中,苹果推出了 Xcode Previews。近几年,我都惯性认为这是 SwiftUI 的事。对于国内要求适配 iOS9/10,Swift 生态又不好的情况来看,SwiftUI 和 Xcode Previews 是一件离我们很遥远的事情。最近重提 Hot Reload,突然又想起了 Xcode Preview 这一原生的工具。可以说和 SwiftUI 关系不大,传统的 UIKit、Objective-C 的支持也一样不少。
接触 Xcode Previews,发现还挺有意思,于是整理了从使用到原理相关的内容,介绍的顺序如下:
  • 使用介绍
  • Preview 在 UI 适配上的使用
  • 多机型、样式适配的最佳实践
  • 原理介绍
  • Xcode Previews 是如何做到 Hot Reload 的?
  • Preview 到底是什么?
  • Preview 是怎么做到展示指定视图的?
  • 为什么 Preview 不支持交互和动画?
使用介绍
前端对多机型适配的解决方案
客户端的多机型适配一直是让人头疼的事情,设计稿就给一个尺寸,研发通常就按着这个尺寸来写。往往就忽略了小屏设备的适配,最终喜提 Bug。
但要说机型适配,没有什么比前端更让人头疼了,浏览器/H5 适配各种机型和系统,基本无法枚举。前些年看到一个号称「Develop responsive web apps 5x faster」的 App:Responsively,非常激动,如果客户端 UI 仔能一次性在不同设备上预览效果,那当真是 5x faster。
▼ Responsively 截图
在接触 Previews 之前,我一直在尝试用多台模拟器做到多机型同步预览的效果。大致思路是:
  1. Xcode 同时启动多台模拟器
  1. 利用 installd 和 testmanaged 控制模拟器安装以及操作