作者:韩俊强
原创地址: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];
}