Global ObjectTouch and ActionsSingleton Global

Ui

Reads the on-screen app interface from the accessibility tree: finds elements by text or id and clicks them.

Documented for app version 1.0.51Updated:

Detailed Explanation

This section explains when to use the API, how to call it, and which structures it works best with in production flow.

How To Call It

Ui is a singleton global table: call its functions with a dot (Ui.<method>(...)).

When To Use It

In automation flow, chain actions with short wait() intervals and use requestStop() or controlled retry on failure paths.

Parameters and Return

Ui offers 6 methods; each method page lists its parameters and return value.

Options and Limits

Rate limit: Ui calls are limited to 60 per second; past the limit the call raises an error.

Best Combined With

It works best together with wait(), Point, SwipeParam, ClickParam, and sometimes a Region result.

Example Usage

The snippet below is a starter pattern that can be applied directly in runtime flow.

local node = Ui.byText("Settings")
if node then Ui.click(node) end

Copyable Progressive Examples

From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.

Foundation

Shows the shortest direct way to call the API.

Foundation
local node = Ui.byText("Settings")
if node then Ui.click(node) end

Simple

Wraps the base call with minimal flow control.

Simple
local node = Ui.byText("Settings")
if node then Ui.click(node) end

-- Continue with one focused method on the object.

Practical Flow

A practical pattern for real macros with pcall, logging, and guards.

Practical Flow
local node = Ui.byText("Settings")
if node then Ui.click(node) end
local note = "Ui overview loaded"
print(note)

Detailed

This level packages the API into a reusable helper with error reporting.

Detailed
-- In automation flow, chain actions with short wait() intervals and use requestStop() or controlled retry on failure paths.
local function run_ui_step()
  local node = Ui.byText("Settings")
  if node then Ui.click(node) end
end

local ok, err = pcall(run_ui_step)
if not ok then
  toast("Step failed")
  print(err)
end

Combined

Combines the API with related structures to form a more realistic workflow.

Combined
local target = Point(540, 960)
quickTap(target)
wait(250)
local node = Ui.byText("Settings")
if node then Ui.click(node) end
wait(250)
print("Automation chain completed")