繁体   English   中英

Xcode UI测试:lldb错误“仅适用于iOS 9.0或更高版本”

[英]Xcode UI Testing: lldb error “only available on iOS 9.0 or newer”

背景

我有一个相当详细的(约2000行快速代码)自动化框架,使用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项目中 与该评论不同,我的是UI测试目标。 此外,测试目标的“iOS部署目标”设置为iOS 9.2(如果有帮助)。

  • 在我记忆中,我近来没有发生任何重大变化。
  • 我的设备(并且一直是)iOS 9+。

怎么可能出错?

2016年5月20日更新

根据以下答案进行一些探索: https//stackoverflow.com/a/37335950/682912

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

这是设备上安装的调试代理中的错误。 这些绑定到iOS版本,因此可能会在您升级设备时发生。 无论如何,请在http://bugreporter.apple.com上提交一个错误。

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

使用您的测试目标或任何其他可能将您的IPHONEOS_DEPLOYMENT_TARGET设置为低于9.0的方法仔细检查您的.xcconfig。 由于UITest仅适用于iOS9.0或更高版本,因此将IPHONEOS_DEPLOYMENT_TARGET更改为9.0+应解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM