iOS 远程开发真机调试方案(支持到iOS14)

问题爆发

这次疫情来的十分突然,公司也是紧急改成远程办公。由于疫情爆发在春节期间,我们组所有同事都已经回家休假,导致没有成分准备远程办公的开发环境,只能临时想办法解决远程开发问题。

我相信很多小伙伴和我们一样,由于一些历史问题,导致无法使用模拟器调试代码。但是远程情况下又无法正常使用真机调试,编写界面、解决崩溃问题成为一件十分棘手的问题。

分析问题

方案1:手动打包+分发平台+真机(不推荐)

相信很多iOS开发者都知道上述流程,首先XCode编译通过,用Payload压缩包生成ipa文件,然后放到fir,再通过真机下载查看页面。

最初我们也是简单暴力采取该方案,但是第一天就暴露了以下问题:

  • 流程十分繁琐,周期长,调试界面需要花费大量时间

  • 原本远程开发就卡成幻灯片,如此操作更是雪上加霜

  • 崩溃问题无法通过断点调试,盲敲代码严重影响质量

方案2:电脑远程操控真机(越狱+Veency)

在经历过方案1的痛苦后,我们很快就想到该方案,如果电脑端能够直接操控手机,只需要让在公司的同事帮忙插上数据线就能远程真机调试。

经过大量的资料搜索,发现大部分第三方软件都只能操控安卓手机。不过最后我们还是发现一个可行方案:越狱+Veency。该方案有如下好处:

  • 去掉iphone密码插上数据线就能真机调试,流程简单**

  • 本质上与正常真机调试无差别

解决问题

下面我将从越狱开始描述下具体实施过程:

准备环境:

  • iOS9-iOS10设备(Veency目前不支持iOS11以上)

  • 越狱软件ipa包 (自行网上下载)

重签名

由于Apple的真机证书验证策略,从网站上下载的ipa包大概率无法直接安装。运气好可以下载到不掉签的包,但是开发者或者商贩为了保护企业证书,大多7天一换,7天后都会掉签无法使用。由于我的设备无法满足完美越狱,关机重启后会失去越狱环境,需要通过软件恢复。因此我们需要将越狱软件包重签名,保证其一直有效。

首先我们需要去官网给软件创建一个Identifiers

创建id.png
创建id2.png

然后使用自己的个人开发证书创建开发环境的Profile。将证书、描述文件下载到本地,证书双击添加到钥匙串。

接下来就需要下载重签名工具iReSign。

GitHub地址:https://github.com/maciekish/iReSign

重签名工具.png

如上图所示,第一栏填写越狱包的路径,第二栏填写描述文件路径,第三栏可以不填会自动生成,第四栏填写上述注册的id,第五栏选择自己的证书。点击重新签名就完成了。

越狱

目前越狱工具大多都是一键越狱,因此这里无需累述,大家可以根据自己下载的工具教程进行越狱。

安装及配置Veency

越狱完成后点开Cydia,在搜索栏中搜索Veency就可以自行下载安装了。刚越狱成功的手机需要连上外网,等Cydia自行添加源后就能搜索到。

IMG_3629.PNG

下载完成后,在设置中找到Veency栏,按如下图所示配置,输入一个vnc访问密码。

配置Veency.PNG

接下来只要将设备和电脑连接同一局域网,然后在电脑浏览器中输入vnc://设备ip,再输入刚才设置的密码,就能通过屏幕共享软件连接并控制移动设备,于是就能远程操作手机进行真机调试啦。

远程控制.png

screendump(支持到iOS14) 21-12-13日更新

最近杭州疫情又爆发了,又有小伙伴被关在家隔离。所以这个工具又排上用场了。之前说的Veency只支持iOS9和iOS10 ,这种机型已经很遥远了。所以这里再介绍一个越狱软件,支持到iOS14,用法差不多,网上资料太少,搜半天才找到希望能帮助更多人。名为screendump。下载cydia源:http://julioverne.github.io/
ios14 https://apt.aptso.cn/

总结

使用Venncy远程操控可能会有些卡顿,但是原本远程开发就卡成幻灯片,这点卡顿几乎可以忽略。

你可能感兴趣的:(iOS 远程开发真机调试方案(支持到iOS14))