@@ -43,7 +43,7 @@ private let iOSBundleIdentifierHeaderName = "X-Ios-Bundle-Identifier"
4343
4444// Retryable HTTP status code.
4545private let fetchResponseHTTPStatusOK = 200
46- private let fetchResponseHTTPStatusClientTimeout = 429
46+ private let fetchResponseHTTPStatusTooManyRequests = 429
4747private let fetchResponseHTTPStatusCodeBadGateway = 502
4848private let fetchResponseHTTPStatusCodeServiceUnavailable = 503
4949private let fetchResponseHTTPStatusCodeGatewayTimeout = 504
@@ -311,7 +311,7 @@ class ConfigRealtime: NSObject, URLSessionDataDelegate {
311311 namespace:' \( Utils . namespaceOnly ( self . namespace) ) ',
312312 lastKnownVersionNumber:' \( self . configFetch. templateVersionNumber) ',
313313 appId:' \( self . options. googleAppID) ',
314- sdkVersion:' \( RemoteConfig . sdkVersion ( ) ) ',
314+ sdkVersion:' \( Device . remoteConfigPodVersion ( ) ) ',
315315 appInstanceId:' \( self . settings. configInstallationsIdentifier) '
316316 }
317317 """
@@ -385,14 +385,16 @@ class ConfigRealtime: NSObject, URLSessionDataDelegate {
385385 }
386386
387387 @objc private func willEnterForeground( ) {
388- realtimeLockQueue. async {
388+ realtimeLockQueue. async { [ weak self] in
389+ guard let self else { return }
389390 self . isInBackground = false
390391 self . beginRealtimeStream ( )
391392 }
392393 }
393394
394395 @objc private func didEnterBackground( ) {
395- realtimeLockQueue. async {
396+ realtimeLockQueue. async { [ weak self] in
397+ guard let self else { return }
396398 self . pauseRealtimeStream ( )
397399 self . isInBackground = true
398400 }
@@ -526,7 +528,7 @@ class ConfigRealtime: NSObject, URLSessionDataDelegate {
526528 }
527529
528530 func isStatusCodeRetryable( _ statusCode: Int ) -> Bool {
529- return statusCode == fetchResponseHTTPStatusClientTimeout ||
531+ return statusCode == fetchResponseHTTPStatusTooManyRequests ||
530532 statusCode == fetchResponseHTTPStatusCodeServiceUnavailable ||
531533 statusCode == fetchResponseHTTPStatusCodeBadGateway ||
532534 statusCode == fetchResponseHTTPStatusCodeGatewayTimeout
@@ -658,10 +660,3 @@ class ConfigRealtime: NSObject, URLSessionDataDelegate {
658660 }
659661 }
660662}
661-
662- extension RemoteConfig {
663- static func sdkVersion( ) -> String {
664- return Bundle ( identifier: " org.cocoapods.FirebaseRemoteConfig " ) ?
665- . infoDictionary ? [ " CFBundleShortVersionString " ] as? String ?? " 0.0.0 "
666- }
667- }
0 commit comments