Xcode9使用新体验

作者: herbsun | 来源:发表于2017-07-16 13:09 被阅读987次

    iPhone至今已经十周年了,作为一个重要时间点,今年Apple的WWDC17可谓是憋了大招了。iOS11(ARKit,ML)、Swift4、Xcode9。Xcode9相较之前的版本还是有很多实打实的新功能的,目前AppStore已经推送最新版,为此本人写一下个人体验。

    头文件跳转

    头文件跳转发生了改变,Xcode9之前点击类名直接跳转到类头文件里面,现在成了actions了,

    Xcode9_2.png
    xcode9_2.1.png
    • Jump to Definition(^⌘):跳转类头文件或定义
    • Show Quick Help(⌥):显示帮助文档
    • Edit All in Scope:编辑文档内所有匹配内容
    • Extract Function: 抽取成函数
    • Extract Method: 抽取成方法,至于和上面功能有啥区别,赶快试一下会让你喜欢上这两个功能的
    • Actions: 提供快速搜索三个功能,也许Apple认为这样改变确实不方便了,毕竟和我们预想页面中间多了一步。
    Xcode9_3.png

    不过有些小伙伴说了,我虽然喜欢这个功能,但是我CMD+左击 90%的情况是跳转头文件,这样每次需要选择岂不是很麻烦,哈哈 别着急 有办法
    路径是Xcode Preference -> Navigation -> Command-click on Code选项改成Jumps to Definition

    xcode9_2.2.png

    错误

    在Xcode9之前, 错误信息只会在错误处后面一行显示,但是错误信息过多的时候,在看错误信息的时候难免有些不方便,现在好了,当点击错误信息前面的红点时,错误信息会完全展开,并且有fix功能。

    Xcode9_4.png Xcode9_5.png

    代码块范围

    当将光标放在class、func、if、for、{}、()等关键字时,按住command键,Xcode9将提示对应的代码块范围。当点击鼠标时好会出现对应的actions。例如:

    Xcode9_6.png

    点击 Add "else" Statement或者Add "else if" Statementaction的时候,Xcode会自动给我们增加else分支内容

    Xcode9_7.png

    厉害的来了,当点击Extract Method的时候, Xcode会将分支自动抽取成func, 手动对此功能点赞👍呀!这以后抽取代码块的时候太方便了。

    Xcode9_8.png

    New Group新变化

    在Xcode9之前,我们在工程文件下New Group的时候,Xcode只会创建虚拟文件目录(这点很痛苦), 还得自己手动创建本地实体文件目录并关联之. Xcode9之后New Group将会同步创建本地实体文件目录. 如果还想像之前那样只是建立虚拟的group,需要选择New Group without Folder即可

    Asset Catalogs

    现在Assets.xcassets不光能增加图片,也能增加有名字的颜色

    Xcode9_9.png Xcode9_10.png

    使用的时候类似引用图片方式:
    view.backgroundColor = UIColor(named: "color")

    以后管理全局颜色就和管理图片一样一样的啦 方便极了

    Source Control

    Xcode9对源代码管理增加了很大的支持,在Preferences中的Source Control增加了Git和Subversion。并且在左侧的Navigator中可以很清楚明了的查看提交信息

    image.png

    在左侧的Navigator中,有Branches、Tags、Remotes,这是相当于集成了SourceTree集成进去了呀

    在Accounts中可以增加GitHub账户

    image.png

    而且GitHub账户信息展示的也很齐全

    image.png

    更多的关于Source Control操作不在一一赘述,大家可以自己研究一下

    兼容性

    Xcode9之后支持了Swift4.0和Swift3.2,默认使用的是Swift4.0。你可以再target的Build Settings的Swift Language Version中选择Swift版本!

    想当年做Swift2到Swift3的转换时,真是满满的泪呀!

    image.png

    调试应用

    Simulator

    Xcode9这次对Simulator进行了非常大的升级,特别是外观发生了变化

    最新的模拟器拟物化了,增加了Home键 左上的静音和声音键,右上的关机键都可以使用

    模拟器大小也可以随意调整大小,不像之前只有cmd+1、2、3、4的尺寸,现在将光标放在模拟器四角之一上就可以随意调整模拟器大小了

    现在可以运行多个模拟器,方便我们测试不同设备情况下页面的情况,

    image.png image.png

    真机调试

    之前如若要真机调试必须要连接数据线,现在方便了,可以通过WIFI无线安装App了,
    不过需要Xcode9并且运行iOS11+的版本才能使用,
    还有就是Mac和iPhone必须连接同一个WiFi网络。
    操作如下:
    1.用数据线连接Mac和iPhone
    2.选择Xcode menu的Window -> Devices and Simulator

    image.png

    3.勾选Connect via network如果通过网络成功连接到iPhone,就可以拔掉数据线愉快的进行无线真机调试
    同时也可以通过输入iPhone的IP进行连接。


    image.png

    语言特性

    之前判断iOS版本需要获取Device Version:[[UIDevice currentDevice] systemVersion] 现在判断可以像Swift方式那样简单了

        if (@available(iOS 11.0, *)) {
            // iOS 11 Later
        } else {
            
        }
    

    新的编译系统

    Apple提供了一套新的用纯Swift编写的编译系统,据说对编译速度的提升帮助很大,目前并没有成为默认.如果想要体验,需要手动设置一下, File -> Workspace Settings即可更改

    xcode9_11.png

    其他

    按住command + +-,可以将代码放大或缩小, 这以后演示代码就方便了不少

    总结

    关于Xcode9就简单介绍这里,还有很多其他的新特性。作为十周年之际,Apple也是拿出了很大的诚意,更多的功能可在Xcode的Help-> Xcode Help中查找

    参考

    What's New in Xcode9

    相关文章

      网友评论

      • 小北风sky:感谢分享
      • d3ff1d98a1aa:刚注意到这篇文章,给个👍
      • 汤不理不_:请问Xcod9怎么保存代码块,求科普,谢谢。
        汤不理不_:@herbsun 好的 谢谢
        汤不理不_:@herbsun 貌似拖动不了啊
        herbsun:还是和之前一样的,拖到代码块区域就可以了
      • 苦笑男神:更新Xcode9正式版之后问题:

        1.代码块 方法和类按住 command是有提示的,但是if,for, switch等不提示,博主是否有这样的问题?还是需要设置才能提示。
        2.代码折叠不好用了,,比如if、for等,无法折叠,只能折叠方法、类
        3,控制器不输出NSLog信息。
        herbsun:昨天才更新了Xcode正式版本,写这篇文章的时候用的Beta版本
        第一个问题确实存在,应该是正式版本的改变
        第二个问题也是
        第三个问题我更新了没问题的

      本文标题:Xcode9使用新体验

      本文链接:https://www.haomeiwen.com/subject/mrjtkxtx.html