Используя Xcode 13 (13A5154h), мои тесты пользовательского интерфейса больше не видят идентификаторы доступности, связанные с текстовыми полями в приложениях SwiftUI.
В моем приложении SwiftUI у меня есть следующее, которое отлично работало до Xcode13 / iOS 15:
TextField("Blah blah blah",
text: $currentText,
onEditingChanged: { isEditing in
if !isEditing {
// Do the thing
}
}, onCommit: {
})
.accessibility(identifier: "someIdentifier")
.keyboardType(.alphabet)
.padding()
.foregroundColor(.primary)
.disableAutocorrection(true)
.textFieldStyle(RoundedBorderTextFieldStyle())
Существует также тест пользовательского интерфейса, который взаимодействует с этим. Однако он больше не может получить доступ к
Когда тест пользовательского интерфейса достигает точки, в которой он запрашивает поле, я могу запустить этот поиск и получить следующий результат:
(lldb) po app.textFields
t = 547.11s Requesting snapshot of accessibility hierarchy for app with pid 1234
t = 547.48s Find: Descendants matching type TextField
t = 547.48s Requesting snapshot of accessibility hierarchy for app with pid 1234
t = 547.50s Find: Descendants matching type TextField
t = 547.50s Requesting snapshot of accessibility hierarchy for app with pid 1234
Find: Target Application 'com.company.app'
Output: {
Application, pid: 1234, label: 'Awesomest App Ever'
}
↪︎Find: Descendants matching type TextField
Output: {
TextField, {{16.0, 165.0}, {286.7, 34.0}}, placeholderValue: 'Blah blah blah'
}
Просматривая документацию, я пока не нашел ничего, что указывало бы на то, что поведение идентификаторов изменилось, но я мог что-то упустить.
Есть идеи, как найти поле с идентификатором (изменение содержимого, локализация и т. Д.)?
Обновлено
Если нет очевидной причины, я просто запишу радар и скрещу пальцы.