ios - Xcode 用户界面测试 : lldb error "only available on iOS 9.0 or newer"

标签 ios swift lldb xcode-ui-testing

背景

我有一个相当详细的(大约 2000 行 swift 代码)自动化框架,它是用 Xcode 7.3 和 Swift 为我们的 iOS 应用构建的。

直到最近,我才能够使用 lldb 来构建我的框架,即

  • 插入断点并运行代码直到该点
  • 使用 po XCUIApplication().debugDescriptionexpr bla bla 构建逻辑
  • 重复

问题

几乎是突然之间,每当在 lldb 的控制台中运行任何内容时,我现在都会遇到以下错误:

(lldb) po XCUIApplication()
error: <EXPR>:2:1: error: 'XCUIApplication' is only available on iOS 9.0 or newer
XCUIApplication()
^
<EXPR>:2:1: note: add 'if #available' version check
XCUIApplication()
^
<EXPR>:2:1: note: add @available attribute to enclosing instance method
XCUIApplication()
^
<EXPR>:2:1: note: add @available attribute to enclosing extension
XCUIApplication()
^
<EXPR>:10:9: warning: initialization of variable '$__lldb_error_result' was never used; consider replacing with assignment to '_' or removing it
    var $__lldb_error_result = __lldb_tmp_error
    ~~~~^~~~~~~~~~~~~~~~~~~~

注意事项

谷歌搜索和研究并没有让我有任何重要意义。 我发现的一个相关线程在 fastlane project 中。 .与那个评论不同,我的是一个 UI 测试目标。 此外,测试目标的“iOS 部署目标”设置为 iOS 9.2(以防有帮助)。

  • 就我的内存而言,我最近没有做任何重大改变。
  • 我的设备是(并且一直是)iOS 9+。

可能出了什么问题?

2016 年 5 月 20 日更新

基于以下答案的一些探索:https://stackoverflow.com/a/37335950/682912

  • 此问题仅在真实设备上发生。模拟器不会面临这个问题。
  • 在真实设备(iPhone 6S+、iOS 9.2.1)上,我完全重置了内容和设置。这并没有解决问题。

最佳答案

这是您设备上安装的调试代理中的错误。这些是与 iOS 版本绑定(bind)的,所以它可能是在您升级设备时发生的。无论如何,请使用 http://bugreporter.apple.com 提交错误.

如果我对这个问题的看法是正确的,那么它应该只发生在对设备进行调试时,而不是在模拟器上。这可能会让您有一个临时的解决方法,直到错误得到修复。

关于ios - Xcode 用户界面测试 : lldb error "only available on iOS 9.0 or newer",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37320606/

相关文章:

iphone - 在弹出窗口中显示 View

ios - didstartelement ofiten 没有被 swift 调用

swift - 转换到另一个 View Controller 时,应用程序崩溃而没有有关崩溃的信息

ios - 使用 swift 和 objective-c 桥接 header 和框架的命名空间冲突

尝试在 lldb 中继续处理时 Python 脚本卡住

ios - 计算IOS中的哈希率

ios - 在应用程序上加载 Webview 启动 IOS

iphone - 如果文本字段不为空,如何启用 UIButton?

ios - 调试 Swift 代码时,我能否仅根据对象的地址获得对象的类型化引用?

ios - [UIViewController initWithCoder :] causes debugger to freeze 上的符号断点