玩转iOS开发:iOS 11 新特性《Xcode 9》 (二)

文章分享至我的个人技术博客: https://cainluo.github.io/15098681423885.html


由于要说的东西有些多, 所以这里分开来说, 希望在第二篇里可以全部讲完.

如果没有看到之前的第一篇的童鞋, 可以到玩转iOS开发:iOS 11 新特性《Xcode 9》 (一)去看哈.

转载声明:如需要转载该文章, 请联系作者, 并且注明出处, 以及不能擅自修改本文.


默认的换行符

Xcode 9中, 默认添加了一个换行符, 酱紫我们就不会忘记一个需要尾随的换行符了, 但有个不好的地方, 就是我们不能删除最后一个换行符, 每次我们输入东西的时候, Xcode 9就会自动添加一个~

酱紫也挺方便的~


集成GitHub

除了以上的一些东西, Xcode 9还集成了GitHub, 我们就可以很方便的用它来集成, 管理第三方库:

10

如果我们要Clone第三方库的话, 我们可以通过在Xcode 9的菜单栏Source Control里找到Clone的选项, 就可以找到我们的GitHub里的第三方库:

11

12

这里, 我们选择了Alamofire, 当Clone完成之后, 我们就可以看到第三方库的代码了:

13

14

如果我们想看到第三方库的版本情况, 还有历史提交记录, 我们可以通过使用Command + 2或者是点击, 如果我们想多看一些情况的话, 我们可以按着option + 鼠标左键点击版本号, 酱紫就可以多看一些信息了:

15

我们还可以通过输入changelog来搜索一些信息, 我们可以通过ALL下拉菜单并选择Message,Author或Revision搜索:

16

17


提交到分支

我们还可以通过选择分支, 然后提交到GitHub上去, 首先我们先从master获取一个分支:

18

然后随便修改一些地方:

19

然后在Source Control里找到Commit这个选项:

20

然后这里我们可以看到修改了什么内容, 被忘了填写我们的备注内容:

21

最后再把分支合并到master上, 但在这里, 我们只做演示, 而不会真的提交上去:

22


断点调试

Xcode 9里, 断点调试我们还可以有另外的玩法, 现在我们可以直接在断点里添加LLDB的命令:

23

24

这样子我们以后写代码的时候, 就不需要经常写个NSLog了.

搜索断点调试

我们除了可以给断点里给它加入LLDB命令, 我们还可以去搜索检索这些命令:

25

这样子我们就可以从一大堆的命令里搜索我们想要的命令了

实体文件夹

Xcode 9里, 终于把实体文件夹加进来了当我们添加/删除项目里的文件夹时, 终于可以把对应的实体文件夹也添加/删除掉了, 这里我就不作演示了, 大家自行去捣鼓吧~

视图Debug

Xcode 9中的视图Debug器里也有一定的改进, 我们除了可以点击Debug View Hierarchy进入视图Debug模式:

26

除此之外, 我们还可以通过右边的小窗口看到更详细的内容.

Runtime问题的检测

我们都知道在Xcode 8的时候添加了两种检测:Address SanitizerThread Sanitizer, 在Xcode 9还增加了另一种Undefined Behavior Sanitizer.

Undefined Behavior Sanitizer可以用来检测基于C语言中的各种问题, 比如对主线程的检测, 这样子可以保证我们没有子线程后者是后台线程上进行UI更新的操作, 由于主线程检查器的开销可以忽略不计, 所以默认都是打开的.

具体怎么做呢, 这里就不演示了, 你用GCD在子线程里更新一下UI, 就知道是什么情况了.

其他的更新

除此之外, Xcode 9还带来了改进后的模拟器, 可以模拟真机的按键点击(这貌似在很多年前的模拟器就有了).

还有就是可以多开不同的模拟器, 方便我们在各个机型的适配, 而且还支持多方向.

刚刚我们提到了Xcode 9集成了GitHub, 其实除了这个, 还集成了Xcode Server, 可以直接在Xcode里集成各种各样的机器人, 而不需要单独的使用Xcode服务器, 直接打开, 然后根据提示就完成了:

27

虽然我不知道可以用来干嘛, 如果有知道的童鞋们, 可以教教我~~

对了, 这里还有一个有意思的地方, 就是无线Build到你的手机上, 只要你的电脑和你的手机处在同一个WiFi下就可以了:

28

这里有一个限制就是, 你的手机系统必须是iOS 11或者以上才可以, 其他系统没啥卵用.


总结

最后提一下, Xcode 9使用Swift编写的新构建系统对Swift的支持更友好, 它提高了性能, 并且可以捕获当前构建系统无法捕获的各种蛋疼配置问题, 但现在只是可选状态, 但在未来, 这个东西应该是Xcode默认勾上的.

如果我们要去选择新的构建系统可以这么设置:

29

30

好了, Xcode 9的新特性就讲到这里了, 如果还有什么不懂的话, 可以到官方网上去溜达溜达~~

这是官方资料:


工程地址

项目地址: https://github.com/CainRun/iOS-11-Characteristic/tree/master/1.Xcode%209


最后

码字很费脑, 看官赏点饭钱可好

微信

支付宝