XCode9的一些变化之处

作者: 谁遇而安 | 来源:发表于2017-10-12 12:14 被阅读6679次

一直也没时间看xcode9的一些坑,今天看了一下,写一下个人对xcode9的一些改变的总结,希望对你有用。

1、代码折叠

在XCode9之前,在变量或方法上,按comman+单击,是直接Jump to Definition,但是现在,是弹出这个菜单,对于跳转到变量的定义,就多了一步了 。焦点在方法的实现体的方法名上,按comman键,则整个函数会被框住.用来标志这个方法的起点和终点
此时单击,出现菜单

comman弹框

在对应的方法选中的时候也会出现弹框

方法的弹框

当中的fold方法相当于以前的将方法折叠成一行,不过xcode9取消了这些而已

取消了以前的折叠方法

开始大家可能会觉得不方便,对于想直接跳转到变量定义,现在是 control+command+单击
当然,如果你还是觉得以前的cmd+单击 跳转到变量定义,你更习惯,可以在这里设置一下就变为原来的方式了。

cmd+单击 转变

2、警告

有可能你定义block可能会出现这样的警告,或者是原来的代码出现了这样的警告
我们定义一个不带参数的block,通常是如下的方式

typedef void(^federationTokenGetter)(); 

在xcode9中会提示一个警告


警告

解决方式可以是如下的几种
1)、直接改代码

typedef void(^federationTokenGetter)(void);

2)、第一种方式这样,很多第三方要改,涉及的面太大了,目前可能不太适合,虽然这个是趋势.或者,如果只是很少的地方,也可以使用这种方式。还有就是彻底的暂时解决所有这种警告的方式,如下:
在工程的 Build Settings 中的

去除警告

将Yes(Error)设置为NO,则这些警告就消失了

3、xcode9可以用来直接调整编辑器的字体大小了

在展示代码的时候将很有用 ,快捷键如下

cmd + /-

4、Source Control的极大增强

XCode内置的git系统感觉是越来越强大了,感觉以后可以抛弃三方的了

专门用来版本管理

5、xcode9支持Github账户了

XCode - Preferences -Accouts 可以登录你的GitHub账户,登录后如下

登录git账号

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

clone项目 clone项目

打开任意一个git工程,提供了一列新的 Show the Source COntrol navigator
这里列出来了你的branch的相关信息,可以很方便的切换分支,等等git操作

项目的信息

当然你也可以进行一些分支的操作


操作分支

有人问如何切换分支,这里贴出来一下


切换分支

6、Folder和Group的同步性

之前,我们在XCode中,更改Folder的名字,在FInder中工程对应的文件夹的名字并不会同步的改变,这会造成我们重命名文件夹变得非常不方便,往往要先在XCode中移除,然后在Finder中重命名,再添加回Xcode,现在 在Xcode9中重名命Folder,Finder中的也同步的改变了
我们之前建议一个虚拟的group,并不会在对应的文件夹中建立真实的目录,当然,这可能是你需要的,也可能是你不需要的功能.在9中,默认行为改变了.变成了会建立对应的真实文件夹.如果还想像之前那样只是建立虚拟的group,需要选择New Group without Folder

新建文件夹

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

区别

当你移动一个Group的时候真实的文件夹,它会同步的把对应的真实文件夹中的所有内容也移动到对应的位置,这个极大的方便了我们后期调整工程的目录结构,之前调整那才叫痛苦,在工程中调整了后,工程中的结构和真实的文件夹下的对应不上,以后不会出现这种情况了;至于虚拟文件的话,文件在哪里的话仍然会在哪里。

文件操作 文件操作 直接拖动 直接改变

7、模拟器的调整

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

多个设备运行

模拟器的外观样式也回归了,直接是iPhone的外观了。同时也可以任意的调节大小。
当然如果你不喜欢这样的外观,也可以调整成原来的样式

有外观 无外观

现在模拟器也可以登录你的appid了,这样,就很方便的同步联系人等信息到模拟器上了,以前要测试联系人相关的功能,还要自己一个个的新建,现在就方便多了

登录appid

如果开启了Photo的Share,那么模拟器中应该也能同步照片过来了,以前那种一个个的导入图片的方式终于可以说再见的时候了。

8、打包的调整

打包xcode9也做了一些调整,变得更加简洁,功能也增强了,直接上图说明。

1 2 3
4 5 6

crash可以直接在本机上看到了
当然了,这要用户在机器上允许,还有你提交到appstore时候允许了才会有.

网上找的图

9、xcode9无线调试

xcode9可以无限调试,那么需要有哪些条件呢?
条件:
Mac OSX 10.12.6以及以上的系统
手机要是 iOS 11 以上系统
xcode需要升级到 Xcode 9以上
首先保证Mac 和 iPhone 通过wifi连接的是同一个路由器,也即同一个局域网。
接下来需要这样操作

1 2 3

运行成功之后就可以调试了,不过你可能会遇到这些问题:
1、


问题1

这个需要你重新插拔你的设备
2、可能会报类似这样的错误。

  Failed to initiate service connection to simulator Error returned in reply: Connection invalid

可能原因是:你的手机刚开始设置过密码,然后将手机密码功能关闭了,你需要打开手机密码功能,然后再进行调试,如果成功以后就不影响了。这个密码功能就是手机中设置->Touch ID 与密码功能.
这个我遇到的是这种情况,然后这样解决的。

10、一些问题

1)、拖入的文件不会自动添加到工程(target)里面。
拖入第三方库不能自动编译,包括自己别的项目中写到的一些文件拖入,会导致类似这样的错误。

报错 原因

解决方法有这几种:
1>、手动一个个加入

1
2 自己一个一个勾选

2>、切换到xcode8版本,导入后,再切换回来,这样就得下载一个xcode8,需要装两个xcode,比较蛋疼,希望苹果下一版这个问题能解决。
3>、有个哥们这样回复,大家可以试一下。


文件不能target的问题

大概知道的就这些,如果你有遇到一些坑,或者发现一些新大陆,希望留言,我自己再加上去。
希望大家能提出宝贵的意见,可以给我留言,也可以发邮件到我的邮箱:namezyqyx@163.com
谢谢大家,,不胜感激。

相关文章

  • XCode9的一些变化之处

    一直也没时间看xcode9的一些坑,今天看了一下,写一下个人对xcode9的一些改变的总结,希望对你有用。 1、代...

  • Xcode 9折叠代码

    Xcode9的代码折叠同之前版本xcode有很大变化,这让很多习惯之前版本xode小伙伴纷纷吐槽xcode9的代码...

  • Xcode9 的新发现

    XCode9已经随着ios11的发布发布了,那么在这个XCode9版本中有哪些变化呢? 1 折叠代码 焦点在方法的...

  • XCode9的新变化

    XCode9已经随着ios11的发布发布了,那么在这个XCode9版本中有哪些变化呢?1 折叠代码焦点在方法的实...

  • XCode9的新变化

    1.折叠代码 焦点在方法的实现体的方法名上,按comman键,则整个函数会被框住.用来标志这个方法的起点和终点 此...

  • XCode9的新变化

    新增内容: 在使用的过程中,还发现了以下的变化1 在OC工程中,新的关键字和新的警告如果我们工程的deploy t...

  • XCode9的新变化

    转自:http://www.cocoachina.com/ios/20170922/20626.html XCod...

  • iOS开发——ios11、iphoneX适配实记

    编译器升级xcode9,准备适配一下iphoneX的布局,调试时发现由于一些ios11新特性或者底层变化的原因,x...

  • 更新iOS11以及Xcode9beta项目遇到的坑

    由于更新手机系统iOS11以及xcode9 beta,然后项目在xcode9运行出现一些错误:Compiling ...

  • Xcode9:Main Thread Checker: UI A

    1、问题描述:Xcode9 运行会打印一些线程的日志,比如下面这些 2、问题原因:Xcode9新增加了Main t...

网友评论

  • Out_lier:我的xcode9.2,添加延展都不提示,手动添加pch文件后在build settings里面也找不到prefix,很尴尬
    谁遇而安:9.2又有坑了?
  • GQF_1102:我的xcode更新以后无法新建文件了,每次点create时候就报错:The operation couldn’t be completed. (IDEFoundation.IDETemplateParseError error 1.) 有人知道是什么原因么?现在想新建一个类都不行了,卸载重装了两次了一直不行
    谁遇而安:你是不是创建选择的模板不正确呀
  • 跳跳虾:请问你用的是xcode9.1吗?还是9.2啊?xcode9.2解决了引用文件的问题了吗?
    谁遇而安:@跳跳虾 你可以自己试试,我的Xcode还没更新
    跳跳虾:@跳跳虾 现在文件可以自动引用了吗
    谁遇而安:个人用的9.1
  • 北溟微个尘:有一个问题是 我在普通文件夹里面新加的图片 用[NSBundle pathForResource:] 这个方法去读取 拿不到图片地址了 这是为啥?
    北溟微个尘:@谁遇而安 好的谢谢
    谁遇而安: [[NSBundle mainBundle] pathForResource:<#(nullable NSString *)#> ofType:<#(nullable NSString *)#>],尝试一下这个方法
  • 梁森的简书:怎么切换分支呢? 发现没有switch了
    47e2b53b72da:@梁森森 怎么找到的呢?我右键了分支并没有看到switch啊
    梁森的简书:@谁遇而安 找到了 谢谢
    谁遇而安:选择某个分支后,右键就有切换到这个分支
  • 笙笙哥:非常不错。
  • 重驹:666

本文标题:XCode9的一些变化之处

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