From 7c92ef47e0874b7843184cceedba6998927291f1 Mon Sep 17 00:00:00 2001 From: Ivan Smolin Date: Fri, 1 Dec 2017 15:11:38 +0300 Subject: [PATCH] fix crash when NetworkService creates lazy in background thread (globalinit_*_func0) --- .../NetworkService+ActivityIndicator.swift | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift b/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift index 85ee1827..1dc7d6be 100644 --- a/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift +++ b/Sources/Extensions/NetworkService/NetworkService+ActivityIndicator.swift @@ -26,9 +26,12 @@ extension NetworkService { /// Let netwrok service automatically show / hide activity indicator public func bindActivityIndicator() -> Disposable { - return requestCount - .map { $0 != 0 } - .drive(UIApplication.shared.rx.isNetworkActivityIndicatorVisible) + // Fatal error: `drive*` family of methods can be only called from `MainThread` + return DispatchQueue.main.sync { + requestCount + .map { $0 != 0 } + .drive(UIApplication.shared.rx.isNetworkActivityIndicatorVisible) + } } }