作为一个合格的开发者,在脚本开发过程中必须具备独立解决问题的能力,触动为开发者提供了强大编辑调试工具及多种记录运行结果的扩展函数,开发者必须掌握这些工具及函数的使用方法,对于新手开发者来说,往往辛苦写了一段代码,可是代码运行并没有出现预期效果,而又不知道该如何去查错,这是最让人头疼的,下面针对一些常见问题给出一些查错的基本步骤供新手学习。

运行脚本出现不点击情况

基本步骤

检查是否在脚本开头加入了 init 函数并且 init 函数后是否加入了合适的延迟时间 2 到 3 秒

检查脚本中的函数之间是否加入了合适的延迟时间,延迟时间太短或者没有延迟也会造成脚本执行过快点击失效的问题(注意:延迟时间太短也会造成其他函数比如提示失效)

如果出现滑动函数无效的情况,请检查滑动的初始坐标点和目标坐标点之间是否相差过大,不同的应用程序对于滑动步幅的支持不尽相同,请尝试缩小步幅使滑动函数生效

利用触动精灵的录制功能,在系统桌面录制一个简单的滑动点击脚本并运行该录制脚本,看是否正常点击、滑动,如正常说明点击有效,此时可检查自己的脚本中的逻辑判断是否存在问题。

尝试在重启触动精灵服务,在触动精灵中手动关闭并重新打开服务开关完成服务重启。

可尝试在 cydia 中重新安装 Cydia Substrate 插件并重启设备。

检查逻辑

一般在脚本中的点击操作都伴随取色判断,如:

--封装一个点击函数
function click(...)
touchDown(...)
mSleep(30)
touchUp(...)
end
init(1) --将屏幕方向设置为 HOME 键向右
local c = getColor(100,100) --获取屏幕坐标 100,100 颜色值并存储至变量 c
if c == 0xFFFFFF then --进行判断,对比该点颜色值是否和我们的预期色值一致
click(100,100) --调用开头封装好的点击函数进行一次点击操作
mSleep(1000) --在每次点击后加入适当的延迟end
end


--封装一个点击函数
functionclick(...)
touchDown(...)
mSleep(30)
touchUp(...)
end
init(1)--将屏幕方向设置为HOME键向右
localc=getColor(100,100)--获取屏幕坐标100,100颜色值并存储至变量c
ifc==0xFFFFFFthen--进行判断,对比该点颜色值是否和我们的预期色值一致
click(100,100)--调用开头封装好的点击函数进行一次点击操作
mSleep(1000)--在每次点击后加入适当的延迟end
end

将以上代码复制到触动精灵编辑器中,并更改代码中的坐标及色值(由触动精灵抓色器得到),保证设备与电脑处于同一局域网,使用编辑器连接设备并远程运行这段代码,查看运行结果。

当以上代码正常运行,又没有出现点击操作时,我们可以借助 nLog 函数查看代码运行情况帮助我们找到问题,将以上代码做一些改动:


--封装一个点击函数
functionclick(...)
touchDown(...)
mSleep(30)
touchUp(...)
end
init(1)--将屏幕方向设置为HOME键向右
localc=getColor(100,100)--获取屏幕坐标100,100颜色值并存储至变量c
nLog(string.format("0x%X",c))--将变量c的值以16进制形式输出至触动精灵编辑器日志窗口
ifc==0xFFFFFFthen--进行判断,对比该点颜色值是否和我们的预期色值一致
nLog("条件成立")--如果条件成立,将在触动精灵编辑器日志窗口输出引号中的字符串
click(100,100)--调用开头封装好的点击函数进行一次点击操作
mSleep(1000)--在每次点击后加入适当的延迟
else
nLog("没有找到对应颜色")
end

我们可以从以上代码中看到,在合适的位置加入 nLog 函数可以帮助我们确定代码是否按照我们设计的逻辑正常运行,还可以帮助我们查看脚本中的变量值,开发者可以利用此函数快速找到可能出现问题的地方并加以修正,以上整个过程介绍了在脚本开发过程中最基本的一种查错方法,希望能给新手开发者的学习带来一些启发。