Xcode 9,iOS 11,XCUITest失败:主线程检查器Flurry Analytics

时间:2017-09-22 08:34:07

标签: automation ios10 swift4 xcode9 xcuitest

使用在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代码来解决,但这显然不是理想的。 devs之前已经看到过这个问题: https://github.com/flurry/flurry-ios-sdk/issues/91

但是,在这种情况下,dev build会正确编译,只有在运行XCUITests时才会出现此错误。

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

为避免测试中出现崩溃,您必须在方案中取消选中Main Thread Checker

转到Product > Scheme > Manage Schemes搜索您用于测试的方案,然后按左侧边栏中的Edit...Test,然后转到Diagnostics并取消选中Main Thread Checker复选框

再试一次

这是一个时间解决方案,您应该尝试避免在后台线程上调用UI API,因为应用程序可能表现得很奇怪。但是,既然你使用第三方库,你应该等到他们修复它。