iOS11: 使用Xcode9后的11条小建议 韩俊强的博客

标签: xcode9新特性iOS11开发适配xcode9问题总结xcodexcode9快捷键
4872人阅读 评论(12) 收藏 举报
分类:

作者:韩俊强
原创地址:http://blog.csdn.net/qq_31810357/article/details/78060505 未经允许禁止转载!

Xcode9已在9月20号推出, 相信很多人充满期待, 那么新版Xcode给我们带来哪些新东西呢? 下载后发现很多人哀声载道, 很大一部分是不适应新的编译器, 那么我们我们该如何去调整呢? 耐心看完本文或许你能找到一些答案!

1.模拟器的变化

相信很多人不太习惯新版模拟器, 那么如何恢复呢, 看下图:是不是切换很随意.

2.Jump to Definition 点击对象跳转

在XCode9之前,在变量或方法上, 按CMD+单击, 是直接Jump to Definition,但是现在, 是弹出这个菜单, 对于跳转到变量的定义,就多了一步了,开始可能会觉得不方便 对于想直接跳转到变量定义,现在是 control+command+单击, 也可以:


鼠标用户: 对准你的对象,Command+鼠标右键
触摸板用户: 对准你的对象, Command+双指点击

如果你有强迫症, 非要找回之前一模一样的感觉, 我也可以帮你哦:

是不是很爽啊, 找回初恋的感觉!

3.折叠代码

Xcode9之前:


局部折叠(折叠一个函数):Command+Option+Left/Right
全局折叠(折叠当前文件下的全部函数): Shift+Command+Option+Left/Right
折叠注释块:(/* */之间的文字):Ctrl+Shift+Command+Left/Right

现在:Fold,可以用来折叠方法:

4.代码编译器可以放大/缩小自由切换

你还为每周的团队代码分享因屏幕小看不清代码而纠结吗? 这里就解决了这个问题!


cmd +/- 可以实现编译器的放大缩小

5.无限开发真机调试

目前仅支持ios11的真机,使用较简单,只需在window->Devices and Simulators 下连真机勾选Connect via network, 需要注意的是,必须在一个局域网下:

6.XCode内置的git系统

Source Control的极大增强


支持Github账户, XCode -> Preferences -> Accouts 可以登录你的GitHub账户, 登录后如下:

通过Xcode的菜单 Source Control 最下方的clone, 就可以clone你的github上的工程了,是不是非常方便呢?

关于source control 的其他操作自己去体验吧, 这里不做过多介绍.

7.模拟器可以多开了,并且,模拟器可以登录

这里不做过多介绍

8.代码重构

对一个方法或者变量的重命名, 在方法上CMD+单击, 出现的菜单, 选择rename 可以看到, 它把重命名会出现的改动,比较直观哈!

9.Folder和Group的同步问题

在此之前,我们在XCode中,更改Folder的名字,在FInder中工程对应的文件夹的名字并不会同步的改变,这会造成我们重命名文件夹变得非常不方便,最终要先在XCode中移除,然后在Finder中重命名,再添加回Xcode


现在 在Xcode9中重名命Folder,Finder中的也同步的改变了 我们之前建议一个虚拟的group,并不会在对应的文件夹中建立真实的目录
Xcode9中,默认行为改变了, 变成了会建立对应的真实文件夹, 如果你需要像之前那样只是建立虚拟的group, 选择New Group without Folder 即可!

Show in Finder 可以看到,建立了真实的文件夹:

你可能你会担心, 区分不了这个group到底是虚拟的,还是实际的, 苹果给出了标识来区分的, 虚拟的左下角有个小的三角形, 如图:

10.意外警告

如果你收到 This block declaration is not a prototype
Insert ‘void’ 这个警告,如何彻底关闭呢?


Build Settings -> Strict Prototypes 设置为NO即可, 这只是个临时方案.

11.创建新的颜色 asset catalog

通常我们会 New image set, 现在可以 New color set, 然后填充 rgb alpha 值, 具体怎么操作呢?


Assets.xcassets -> + -> New color set-> 填充RGB及alpha

代码调用方法:

UIColor *customColor;
    // colorNamed: iOS11才有的, 要做版本判断.
    if (@available(iOS 11, *)) { 
        // customColor是自定义颜色的文件名字.
        customColor = [UIColor colorNamed:@"customColor"]; 
    } else {
        customColor = [UIColor colorWithRed:1 green:0.427 blue:1.0 alpha:1.0];
    }


iOS开发者交流群:①446310206 ②446310206

推荐资源:

iOS-Swift-Developers

iOS-OC-Developer

5
2

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:545756次
    • 积分:6589
    • 等级:
    • 排名:第4091名
    • 原创:237篇
    • 转载:10篇
    • 译文:1篇
    • 评论:203条
    微信公众号推荐

    iOS开发者交流群: 官方付费群
    ①群:446310206
    ②群:426087546


    QQ: 点击这里给我发消息


    关注我的技术公众号,每天都有优质技术文章推送。
    微信关注我的公众号
    51.La 网站流量统计系统 51.La 网站流量统计系统
    博客专栏
    最新评论
    我的小仓鼠

    有空帮我喂下仓鼠,谢谢!