使用在 iOS 11 上运行的 Xcode 9 运行我的 XCUITests 套件。
测试在 Xcode 8 (iOS10) 中运行完美,但在 Xcode 9 中出现以下错误:
Main Thread Checker: UI API called on background thread [UIApplication statusBarOrientation]...
... Queue name: com.Flurry.Analytics.Session
这可以通过注释掉所有 Flurry 代码来解决,但这显然并不理想。开发人员之前已经发现过此问题: https://github.com/flurry/flurry-ios-sdk/issues/91
但是,在这种情况下,开发版本编译一切正确,并且仅在运行 XCUITests 时才会出现此错误。
有人知道如何解决这个问题吗?
最佳答案
为了避免测试中崩溃,您必须取消选中方案中的Main Thread Checker
转到产品>方案>管理方案
搜索您用于测试的方案,然后按左侧边栏中的编辑...
按测试
然后转到Diagnostics
并取消选中Main Thread Checker
复选框
然后再试一次
这是一个临时解决方案,您应该尽量避免在后台线程上调用 UI API,因为应用程序可能会表现得很奇怪。但由于您使用第三方库,您应该等到他们修复它。
关于automation - Xcode 9、iOS 11、XCUITest 失败 : Main Thread Checker Flurry Analytics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46360291/