前情提要

生产环境

小白鼠手机:iPhone6sp @ iOS 15.0(据说全面屏屏幕的零点会有问题,保险起见还是用闲置已久的旧手机);

电脑:在intel nuc8上整的黑苹果 @ macOS 11.5.2(花费3k不到。关于怎么折腾出来的,有机会再说吧);

一根USB to lightning线;

软件:

Xcode 13.0WDAbrewusbmuxdairtestpython

前期准备

brew

brewbrew
brewusbmuxd
usbmuxdiproxyiproxy

下载xcode

在apple store直接下载正式版:

挺大的,我为了节省所内流量,用另一台电脑下载的beta版安装包(https://developer.apple.com/download/release/, 10 GB):

信任mac

是否信任Mac设备

下载WDA

在终端输入:

或者使用桌面版github clone也行。

WebDriverAgent.xcodeproj

似乎这个版本有些不稳定。

Finder应用程序Appium Server GUI显示包内容Contents Resourcesappnode_modulesappiumnode_modulesappium-webdriveragentWebDriverAgent.xcodeproj



开始折腾

WebDriverAgent.xcodeprojProjectSchemeWebDriverAgentRunner
ProjectDestinationiOS Device
WebDriverAgentRunnerTARGETSWebDriverAgentRunnerSigning & CapabilitiesTeamAdd an account
TeamWebDriverAgentRunnerTARGETSWebDriverAgentRunnerBuild SettingsBasicpackagingProduct Bundle Identifiercom.公司名.项目名.模块名com.tencent.mobileqq
Signing & Capabilities
ProjectBuildProjectTest
设置通用VPN与设备管理Apple Development信任Testxcode
airtest连接OptionsLanguage简体中文

后话

至此,框架已经完全搭好。

接下来就是根据图像识别来完成自动化刷本啦~

有python基础的小伙伴应该很容易上手,有空我再放一下我的刷本思路。

应该用的是opencv的match()之类的方案,幸好都封装到api里了,不用过多操心。

降低延迟

9/29更新:

后来考虑到,延迟是由IDE实时投屏产生,那是用命令行是不是能大大降低延迟?

经过尝试后,发现答案是肯定的。

先装库:

命令行要这么写:

丝滑流畅啊~