无法在Swift中使用Xcode 9消除Firebase Analytics线程警告

问题描述 投票:2回答:2

在使用现有项目迁移到Xcode 9之后,我一直收到主线程检查器关于名为FIRAnalyticsQueue的队列的警告。我发现这个MTC是一个很棒的功能,因为我已经解决了很多线程问题,但不幸的是我无法消除有关Firebase配置的问题。

我在AppDelegate didFinishLaunchingWithOptions函数中使用的代码如下:

if FIRApp.defaultApp() == nil {
   FIRApp.configure()
}

以及我在评估上面的代码后收到的日志:

2017-10-05 16:14:34.965 PonySugarCandyApp[17721] <Error> [Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add [FIRApp configure] to your application initialization.
2017-10-05 16:14:45.283 PonySugarCandyApp[17721] <Notice> [Firebase/Analytics][I-ACS023007] Firebase Analytics v.3700000 started
2017-10-05 16:14:52.139 PonySugarCandyApp[17721] <Notice> [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIApplication delegate]
PID: 17721, TID: 1309471, Thread name: (none), Queue name: FIRAnalyticsQueue, QoS: 9
Backtrace:
4   PonySugarCandyApp                   0x000000010c5fe721 __38+[FIRAnalytics createAppDelegateProxy]_block_invoke + 55
5   libdispatch.dylib                   0x000000011337143c _dispatch_client_callout + 8
6   libdispatch.dylib                   0x00000001133729c7 dispatch_once_f + 297
7   PonySugarCandyApp                   0x000000010c5fd519 __47+[FIRAnalytics startWithConfiguration:options:]_block_invoke_2 + 101
8   libdispatch.dylib                   0x00000001133703f7 _dispatch_call_block_and_release + 12
9   libdispatch.dylib                   0x000000011337143c _dispatch_client_callout + 8
10  libdispatch.dylib                   0x000000011337995b _dispatch_queue_serial_drain + 1162
11  libdispatch.dylib                   0x000000011337a2df _dispatch_queue_invoke + 336
12  libdispatch.dylib                   0x000000011337d1f9 _dispatch_root_queue_drain + 772
13  libdispatch.dylib                   0x000000011337ce97 _dispatch_worker_thread3 + 132
14  libsystem_pthread.dylib             0x00000001138345a2 _pthread_wqthread + 1299
15  libsystem_pthread.dylib             0x000000011383407d start_wqthread + 13
(Recorded stack frame) 
ios swift firebase firebase-analytics xcode9
2个回答
3
投票

这已在最新版本的Firebase中修复。做一个pod update升级到Firebase 4.3.0。关于https://github.com/firebase/firebase-ios-sdk/issues/69问题和修复的更多细节。


0
投票

我相信你的项目名称和点击编辑方案,你可以进入你的环境变量并添加:

Name: "OS_ACTIVITY_MODE"
Value: "disable"

这应该会阻止firebase在运行应用程序时将大量文本打印到控制台。

这对我来说是一个问题,最新版本的Firebase(截至17/12/17),这个修复工作正常。

See this Brian Voong tutorial for more information.

© www.soinside.com 2019 - 2024. All rights reserved.