Skip to main content

Prerequisites

Flutter app requirements

The app needs to have the Semantics tree enabled. Flutter does not generate it by default. You need one of the following:

Option A — Enable TalkBack / VoiceOver on the device. When a screen reader is active, Flutter automatically generates the Semantics tree for every screen. No code changes needed.

Option B — Add one line to your app's startup code.

assert(() {
SemanticsBinding.instance.ensureSemantics();
return true;
}());

This is a debug-only call wrapped in an assert, so it has zero effect in release builds.


Android

ADB (Android Debug Bridge)

Required for screenshots and automated navigation on Android devices and emulators.

# macOS
brew install android-platform-tools

Verify it is working:

adb devices

You should see your device or emulator listed.


iOS

Xcode Command Line Tools

Required for iOS simulator screenshots.

xcode-select --install

idb (Facebook's iOS Development Bridge)

Required for automated tap navigation and text input on iOS simulators.

brew tap facebook/fb
brew install idb-companion
pip3 install fb-idb --break-system-packages

Verify it is working:

idb list-targets

You should see your booted simulator listed.

Python 3.14 compatibility

fb-idb 1.1.7 uses an API removed in Python 3.14. If you hit an error on startup, open the installed idb/cli/main.py file and replace:

loop = asyncio.get_event_loop()

with:

loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)

Dart SDK

Conalyz Runtime is a Dart CLI tool. You need the Dart SDK (version 3.0 or later). If you have Flutter installed, Dart is already available:

dart --version