如何访问 Xcode 中的 Spotlight 搜索字段?

How to get access to Spotlight search field in Xcode?

使用 Xcode 11 和 iPhone 11 模拟器。 尝试在 Spotlight 搜索中输入一些文本:

let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
springboard.swipeDown()

let spotlightSearchField = springboard.searchFields["SpotlightSearchField"]
spotlightSearchField.typeText("Some text")

虽然 Spotlight 搜索面板可见,但找不到具有辅助功能标识符 SpotlightSearchField 的元素。如果我调用 debugDescription,它在元素树中也不存在。 DebugDescription 输出不包含带有 Spotlight 和 Siri 建议的下拉面板的任何元素 - 仅包含主屏幕元素。

但 AccessibilityInspector 可以找到 Spotlight 搜索字段并显示其标识符。

那么我可以在代码中访问这个字段吗?

SpotlightSearchFieldSpotlight 的一部分,而不是 SpringBoard。

你应该像这样与它互动:

let spotlight = XCUIApplication(bundleIdentifier: "com.apple.Spotlight")
let spotlightSearchField = spotlight.textFields["SpotlightSearchField"]
spotlightSearchField.typeText("Some text")

祝你好运!