Используя 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())

Существует также тест пользовательского интерфейса, который взаимодействует с этим. Однако он больше не может получить доступ к сквозь которые я использую с iOS 13.

Когда тест пользовательского интерфейса достигает точки, в которой он запрашивает поле, я могу запустить этот поиск и получить следующий результат:

      (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'
    }

Просматривая документацию, я пока не нашел ничего, что указывало бы на то, что поведение идентификаторов изменилось, но я мог что-то упустить.

Есть идеи, как найти поле с идентификатором (изменение содержимого, локализация и т. Д.)?

Обновлено

Если нет очевидной причины, я просто запишу радар и скрещу пальцы.

0 ответов

Другие вопросы по тегам