Xcode 11 初体验

今天更新了 Xcode 11 感受很不错(主要不少陌生的东西,可是颇有意思)!这里跟你们一块儿分享一下!前面翻译过一篇官方文档: 可是你们纷纷反馈看不懂,其实你们更但愿看到就是一些带着更新去操做的东西。趁着最新更新正是版本的 Xcode 11 因而就有这一篇 Xcode 11 初体验php

Xcode工做流的改进(Workflows)

工程建立

代码块

  • 代码块也作了调整,界面漂亮直观、编辑显示也很是清晰! (本人是很是喜欢代码块的,对于这个调整我要点赞)

  • Version Editor 中的 log 选项卡移到了检查器中,组成了新的Source Control History区。
  • Assistant、和 Vesion Editor下的 Autor 选项卡合并为一项,并从主导航中移除,向下移到每一个编辑面板中,组成 Editor Option。主导航中只保留Code Review功能。
  • 新增Add EditorMiniMap

咱们这里着重介绍一下 Editor OptionsAdd EditorMiniMap 这3个选项。git

Editor Options

  • 经过Editor Options能够设置当前编辑器的显示模式,包含:Editor OnlyEditor and CanvasEditor and Assistant这三个编辑选项。
  • Editor Only:只显示代码编辑器。
  • Editor and Canvas:代码编辑器和 SwiftUI预览视图。
  • Editor and Assistant:代码编辑器和辅助视图。

其中说明一下:SwiftUI 预览 系统最低要求macOS 10.15 面试

Add Editor

提供了编辑窗口的任意切割功能:编程

  • 能够指定文件打开的位置。
  • 使用 Focus Mode 专一使用某一个窗口。
  • 综合这个功能仍是不错的,我常常也会打开多个页面!来回进去出来麻烦!

直接点击这个按钮,会横向进行分割。 按住 Option 按键点击它,会纵向分割, 下图是一个分割后的界面示例xcode

上图中界面被分红了 3 个编辑窗口。 左边被上下分割成了两个小窗口,右边被单独分割出一个大窗口。markdown

指定文件打开位置网络

上面咱们介绍了窗口分割,在 Xcode 11 中,你还能够按住 Option + Shift,而后在左边点击要打开的文件,这时会出现窗口选择提示app

你能够用键盘,或者鼠标任意方式选择你要打开这个文件的窗口,选中后点击鼠标左键或者键盘的 Enter 键,就能够在指定窗口打开这个文件了。除此以外你还能够移动鼠标到两个窗口之间,将要打开的文件在这里插入一个新的窗口:框架

综合这个功能,更加方便咱们对比阅读,快速开发!尤为在一些关联性比较强的几个页面,咱们就再也不须要切来切去,更加方便清晰编辑器

MiniMap

MiniMap 是本次更新的特点(吐槽有点模仿)提供这个缩略小图,固然可以让开发者更加清晰,这个功能仍是很是不错的!~~~大局观 😄😄

而且你能够经过 MiniMap 快速的跳转到文件的任何区域。MiniMap 支持代码标记, 断点显示,以及搜索高亮提示,很是多的便捷功能。

好比下图, 咱们搜索 app 这个关键字,右边的MiniMap 上会标记处代码文件中全部命中的搜索, 而且还会高亮展现出当前命中搜索的位置(这个须要仔细看一下)

从上面的截图想必你也应该感觉到这个 MiniMap 的做用了!

编辑器功能加强

代码注释的补齐功能。

如今能够直接点击函数方法,右键选择 Add Documentation 会自动补齐代码注释,简洁方便。看来苹果爸爸也实在受不了咱们乱七八糟没有注释的代码,提倡咱们文明编程 😃😄

Change Bar

  • Change Bar这个功能以前也有,我仍是比较喜欢的! 当你的项目关联了版本控制工具时,好比 GitXcode 会检测出当前文件哪些地方相对于上次递交的版本有更改,而且会经过在左边显示一个蓝色线条标记出来:

  • Change Bar 点击左键还能够选择 show Change 查看咱们变化以前的代码,其实也是对比变化的功能,固然你能够选择 Discard Change 来删除变化更新!这就比较爽了!可能你这个时候你就会想到前面跟你介绍的Code Review 功能 是来对比整个文件变化!

Swift Package Manager

Xcode 11 还有另一个重要的更新,就是对 Swift Package Manager 的内置集成。这个功能貌似在挑战 CocoaPods! 为何这么说呢?我下面给你们开始演示

  • 打开项目文件,而后找到 Swift Packages 选项卡:

  • 点击添加要导入的第三方框架,这里以 RxSwift 为🌰

  • 点击 Next 会执行验证,稍等片刻就会让你选择版本以及分支!

  • 选择完毕点击 Next 就会开始导入!Resolving 三方框架

设计工具(Design Tools)

  • 能够随时查看各设备上的效果以及做出更改。
  • 在开发和调试时,随时在暗黑和明亮模式之间进行切换。
  • Asset目录可使你轻松的控制图像和颜色在暗黑和明亮模式之间进行切换。
  • 能够方便的使用浏览全部SF符号

  • 在苹果内部仍是提供了不少方便的,好比下图,你能够根据关键字搜索出你须要的图标

  • 同时你放到相应的界面上面,你还能够进行调整!

代码管理(Source Control)

在Xcode 11中,新增了 Stash Changescherry pick 功能。

Stash Changes

  • 选择 Stash Changes 选项,会自动弹出一个对话框,提示咱们输入一些Comment 信息。点击 Stash 按钮自动跳转到 Git 管理 Tab 下。

Git Tab 页面,会展现出当前本地 Branches 列表、Stash Changes 列表、Tags 列表、Remotes 远程仓库列表。

Stash 右下角会有 Stash 功能选择按钮(也能够在左侧Stash Changes右键弹出)。

简要说下三个选项:

  • Apply Stashed Changes:跟 git stash apply 做用同样,会把当前 Stash Changes 栈顶元素应用到当前分支,Stash Changes 栈不会移除这个Stash

  • Export Stashed Changes as Patch File:将某个Stash Changes导出一个Patch文件。

  • Delete:跟 git stash pop 做用同样,将 Stash Changes 栈顶元素应用到当前分支,Stash Changes 栈会移除这个Stash

Cherry-Pick

假设有两个分支A和B,进行合并分支的时候,你并不想把B的全部commit合并到A,而是想把单个commit合并过来,这时候就得用到git cherry-pick命令了。

选择某个 commit,而后 cherry-pick,弹出框点击 cherry-pick就会将该commit 合并到 master分支,并生成一个新 commit

Debug 工具升级

Xcode 11 中,对模拟器调试作了不少增强。 你如今能够点击调试配置界面,动态改变模拟器的运行参数,好比这里改变主题模式到黑色,改变文字大小,更改辅助选项等等:

这样加强咱们开发人员的调试能力,对于每次编码再调整的方式大大优化!其实从这里你们也或多或少也感知到了如今 Apple 对于可视化的能力获得提高! 说白了咱们为何喜欢用 Xcode 赛过 AppCode 是由于

  • Xcode 的官方性
  • Xcode 的可视化能力更强
  • Xcode 的操做更让开发人员省心,省力!

对网络和温度的模拟

Xcode 11 还加入了对网络环境和设备温度的模拟。这两个条件对开发者来讲应该不陌生,它们也是最难经过常规手段复现的场景。在设备管理窗口中,如今增长了这几个选项

  • 根据 Network Link 能够选择你须要的状态,固然 Thermal status 能够选择!均可以让你的 APP 在更有预期的情况下运行。

模拟器

  • 直接在Watch模拟器上运行Watch app。
  • 基于Metal多模拟器进行了更新,Metal程序能够直接在模拟器上运行。
  • 模拟器FPS达到60帧每秒。
  • CPU占用率减小至少90%。
  • 热启动至少提速2倍以上。

性能分析工具(Instruments)

  • 层次更加分明,更容易浏览和更正数据。
  • 新的 Swift UI 模版。
  • 彻底重写了 Metal System Trace 模版,速度提高了10倍以上。

SceneDelegate 更新

Apple 建议咱们把视图层级相关的方法从 didFinishLanchingWithOptions 迁移到 SceneDelegate 中的 willConnectTo 方法中。这样作有两个好处:

  • 首先能够提升预览结果呈现的速度
  • 其次在应用进入后台时,不会作一些额外的操做,只会作一些必要的操做,使应用快速进入睡眠状态,以节省耗电.

关于Swift UI 的更新

其中我有两篇博客也介绍到了 SwiftUI :

SwiftUI - 百行代码变十行,Swift再创辉煌

WWDC - SwiftUI - 初恋般的感受

参考: Apple 官方文档 一线搬砖工人

PS:想要获取给iOS中高级面试官的一份招聘要求 面试题答案的小伙伴能够继续关注个人博客,我会在下面的内容里面会更新出来!同时看到这里了,点个赞吧!Thanks♪(・ω・)ノ

相关文章
相关标签/搜索