diff --git a/ios-simulator-skill/scripts/navigator.py b/ios-simulator-skill/scripts/navigator.py index 70644c8..d644907 100755 --- a/ios-simulator-skill/scripts/navigator.py +++ b/ios-simulator-skill/scripts/navigator.py @@ -136,6 +136,11 @@ def _flatten_tree(self, node: dict, elements: list[Element] | None = None) -> li return elements + def list_elements(self, force_refresh: bool = False) -> list[Element]: + """Get flat list of all UI elements on current screen.""" + tree = self.get_accessibility_tree(force_refresh) + return self._flatten_tree(tree) + def find_element( self, text: str | None = None, @@ -345,8 +350,7 @@ def main(): # List mode if args.list: - tree = navigator.get_accessibility_tree() - elements = navigator._flatten_tree(tree) + elements = navigator.list_elements() # Filter to tappable elements tappable = [ diff --git a/ios-simulator-skill/scripts/simctl_boot.py b/ios-simulator-skill/scripts/simctl_boot.py index 00f00a4..96d4e09 100755 --- a/ios-simulator-skill/scripts/simctl_boot.py +++ b/ios-simulator-skill/scripts/simctl_boot.py @@ -17,7 +17,6 @@ import subprocess import sys import time -from typing import Optional from common.device_utils import ( get_booted_device_udid, diff --git a/ios-simulator-skill/scripts/xcode/config.py b/ios-simulator-skill/scripts/xcode/config.py index 52abe1b..f2e6595 100644 --- a/ios-simulator-skill/scripts/xcode/config.py +++ b/ios-simulator-skill/scripts/xcode/config.py @@ -6,7 +6,7 @@ import json import sys -from datetime import datetime +from datetime import UTC, datetime from pathlib import Path from typing import Any @@ -142,7 +142,7 @@ def update_last_used_simulator(self, name: str) -> None: name: Simulator name (e.g., "iPhone 16 Pro") """ self.data["device"]["last_used_simulator"] = name - self.data["device"]["last_used_at"] = datetime.utcnow().isoformat() + "Z" + self.data["device"]["last_used_at"] = datetime.now(UTC).isoformat() def get_preferred_simulator(self) -> str | None: """