苹果第28届年度全球开发者大会(WWDC 2017)在6月5日至6月9日(北京时间6月6日凌晨1点)在圣何塞的 McEnery 会议中心举行,到目前为止,我一直在寻找WWDC17中值得开发者庆祝与欢呼的福利……
其实,苹果几乎在每年WWDC,都会给开发者带来不同的惊喜,从1983年到至今….
WWDC 1983:Lisa开始
WWDC 1998:Mac OS X
WWDC 2008:iPhone 3G
WWDC 2010:iPhone 4
WWDC 2013:iOS 7 扁平化风
WWDC 2014:Swift问世,以及Swift一路过来的大改版
WWDC 2015:One More Thing
WWDC 2016:Siri、iMessage 等软件在多平台的打通
当然还远远不止这些,上面这些都只是在现场产生了欢呼的产品,并且对开发者和用户来说都是非常值得一试的福利,甚至包括其中每一小场中带来的新特性,新功能…..
所以2017年苹果在第28届年度全球开发者大会同样带来了不少的惊喜,比如
macOS High Sierra
苹果音箱HomePod发布
...
这一届WWDC之后,我第一时间去寻找苹果的各个方面的新特性和新功能,其中发现了一项,值得我放下当下所有任务去研究一下的,那就是:Xcode 9 Beta版的无线调试模式。
如果你曾经是一个iOS开发者或者是学习iOS开发,那么你会发现几个问题。
当我们,每次修改一个东西(方法,一行代码,一个约束,一个资源)都要运行并且拿起手机,运行并测试,当然这个不是重点,重点是你的手机必须使用数据线连接电脑,如果没有链接,那么你撒野干不了,所这个时候可能遇到这样的一些问题。
1.如果你的线坏了,或者解除不良那么又蛋疼了。
2.如果你手机刚刚因为某些原因拔了,那么你又必须重新插上,并且等待链接才能运行测试。
3.如果你有还几个测试机,那么你需要好几条数据线,或者你需要每个分别切换插拔。
4.如果公司某个同事需要一个最新版(比如测试,产品,老板),那么你必须拿到手机插上线,然后Run一下(如果被你发现隐私了怎么办)。
.....
当然这里面或者你还会遇到一些其他比较特殊的情况,但是这一点苹果怎么会想不到呢?所以WWDC17之后,苹果专门解决了这个问题。那就是我上面提到的,Xcode 9 Beta版的无线调试模式。
那么什么是:无线调试模式呢?
其实就是你不需要使用数据线链接手机,就可以直接运行一个App到你的手机!
但是在开始使用的时候,我发现其实还有有一个弊端的,就是第一次始终还是需要链接的,不然没有办法找到你的手机,或者说没有办法配对!
好了,下面我就通过实际演示来玩转一下这个无线调试模式。
首先请准备好环境。
设备环境:Mac OSX 10.12.5、iOS11、Xcode9
这是WWDC2017的新功能,所以
Mac必须在Mac OSX 10.12.4以上(iOS 9 Beta根本安装不了),这里我是直接升级的,所以直接到了Mac OSX 10.12.5
iOS必须要在iOS11以上
XCode必须在iOS 9 Beta及版以上
配对与测试
1. 打开手机,插上数据线,并且能保证手机正常链接电脑和Xcode(如果第一次会有信任的提示)
一般如果链接成功,Mac会自动弹出iTnues,并且显示对应的手机设备。
2. 这个时候,我打开Xcode9 Beta版(如果没有下载请前往Apple developer下载)
这里我Mac中有两个Xcode,那个带BETA标识的就是Xcode9 Beta版,打开之后就可以正式连接配置了!
打开Xcode导航菜单,然后点击:Windows->Device and Simulators。找到你已经连接上的设备,把Connect via network选项打勾。
这里iPad和iPhone的连接方式是一样的,没有任何差异!
3. 点击并选中Connect via network之后,Xcode将会转一会圈圈,耐心等待一会就可以成功了。
如果成功你会看到这些标志,没有就代表没有成功,重新再试一次。
此时可以拔掉数据线,但是我们可以看到左侧的设备连接列表上手机仍显示在上面。
4. 同时我们,打开XCode主界面并,点击设备选择的位置,可以看到,已经链接上的设备。
注意,这时候我的数据线已经是没有查上手机的,是不是很神奇!
然后我就就可以和之前使用数据线链接手机一样直接运行APP,他就会帮我们安装到手机上并且自动启动显示。。
防掉线处理
这里我开始以为第一次运行需要链接安装的,验证了一下,发现其实第一次都不需要连接安装,只是第一次验证和配对需要链接数据线….
但是,是不是到上面就完了呢?其实不然,当我调试了一段时间之后再打开Device and Simulators的时候发现这样的情况!
有没有发现iPad已经DisConnected了,说明iPad其实已经是自动断开了!
这个时候我就需要另外做一些配置工作。
1. 回到我们刚刚的设备列表中,选中手机右键,在出来的选项卡中选择一个Connect via IP Address项。
2. 然后输入手机的局域网ip地址。
3. 完成之后,不出意外的话,上面那个问题就解决了。
以后只要之前链接过的手机,并且配置,配对,验证成功的,项目运行之后都可以直接运行起来,并进行测试,不需要再用上面数据线啦,是不是很爽……
注意点?
这里有一点需要注意的
Mac和测试设备(iPhone,iPad,...)必须在同一个局域网下,这个其实应该接不上的都满足的。