如何访问 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 搜索字段并显示其标识符。
那么我可以在代码中访问这个字段吗?
SpotlightSearchField
是 Spotlight 的一部分,而不是 SpringBoard。
你应该像这样与它互动:
let spotlight = XCUIApplication(bundleIdentifier: "com.apple.Spotlight")
let spotlightSearchField = spotlight.textFields["SpotlightSearchField"]
spotlightSearchField.typeText("Some text")
祝你好运!
使用 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 搜索字段并显示其标识符。
那么我可以在代码中访问这个字段吗?
SpotlightSearchField
是 Spotlight 的一部分,而不是 SpringBoard。
你应该像这样与它互动:
let spotlight = XCUIApplication(bundleIdentifier: "com.apple.Spotlight")
let spotlightSearchField = spotlight.textFields["SpotlightSearchField"]
spotlightSearchField.typeText("Some text")
祝你好运!