iOS: la automation de la interfaz de usuario obtiene el campo de text por label de accesibilidad?

Así que en mi file de nib habilité la accesibilidad y establecí la label de accesibilidad de un campo de text en "txt". Estoy tratando de encontrar este text basado en el nombre de accesibilidad y cambiar su text.

var target = UIATarget.localTarget(); var application = target.frontMostApp(); var mainWindow = application.mainWindow(); mainWindow.logElementTree(); // This works var textField = mainWindow.textFields()[0]; //this doesn't work var textField = mainWindow.textFields()["txt"]; textField.setValue("Hello"); 

¿Estoy haciendo algo mal? ¿Cómo puedo encontrar una label basada en la label de accesibilidad?

EDITAR:

Estoy abierto a otras soluciones también, estoy tratando de evitar get el campo de text basado en el índice

Tengo un problema similar y configurar el valor de label de accesibilidad en el código en lugar de en el file nib resolver mi problema. Por ejemplo, tengo un UITextField al que tengo que acceder en mi script de UIAutomation, tendría que establecer el valor de label de accesibilidad en el método viewDidLoad como se muestra a continuación.

 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. testTxtField.accessibilityLabel = @"myTxtBox"; } 

y debajo está mi script de UIAutomation

 var target = UIATarget.localTarget(); var application = target.frontMostApp(); var mainWindow = application.mainWindow(); mainWindow.logElementTree(); // This works //var textField = mainWindow.textFields()[0]; // Now, this work too. var textField = mainWindow.textFields()["myTxtBox"]; textField.setValue("Hello"); UIALogger.logMessage("Text field:" + textField.label());