【发布时间】:2016-05-19 10:32:10
【问题描述】:
背景
我为我们的 iOS 应用程序使用 Xcode 7.3 和 Swift 构建了一个相当详细(大约 2000 行 swift 代码)的自动化框架。
直到最近,我都能够使用lldb 来构建我的框架,即
- 插入断点并运行代码直到该点
- 使用
po XCUIApplication().debugDescription和expr 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 9 以下的设备或模拟器上运行吗?
-
在调试器中,尝试这里的一些方法调用来验证操作系统版本:http://stackoverflow.com/questions/3339722/how-to-check-ios-version
-
@Oletha 如前所述,它是 iOS 9+ (9.2.1)。 @bneely
po NSProcessInfo().operatingSystemVersion返回▿ NSOperatingSystemVersion - majorVersion : 9 - minorVersion : 2 - patchVersion : 1即 9.2.1。
标签: ios swift lldb xcode-ui-testing