firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.41k stars 1.42k forks source link

RemoteConfig.remoteConfig().fetch() is not running on iOS 18/Xcode 16.0 Beta 1 #13141

Closed yishair-investing closed 1 week ago

yishair-investing commented 1 week ago

Description

When running the fetch function for Firebase remote configuration it does not return or enter the completion block. I also do not see any network requests to Google to load the configuration. This occurs on first launch as well as any subsequent rebuilds/installs. Below is the code used to perform the fetch, as stated above the code does not enter the completion block at run time.

        RemoteConfig.remoteConfig().fetch(withExpirationDuration: expirationDuration) { (status, error) -> Void in
            if status == .success {
                remoteConfig.activate { (_, error) in
                    completion?()
                    if let error = error {
                        Logger.appLaunch.error("RC Activation Error: \(error.localizedDescription)")
                        self.didFailToFetchCloudValues()
                    } else {
                        self.didFetchCloudValues()
                    }
                }
            } else {
                Logger.appLaunch.debug("Config not fetched: \(error?.localizedDescription ?? "No error message available.")")
                if let error = error as NSError?, error.code != -114 {
                    // NOTE: -114 is FetchError: Duplicate request while the previous one is pending
                    self.didFailToFetchCloudValues()
                }
                completion?()
            }
        }

Reproducing the issue

No response

Firebase SDK Version

10.27.0

Xcode Version

16.0 Beta 1

Installation Method

Swift Package Manager

Firebase Product(s)

Remote Config

Targeted Platforms

iOS

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
```json "originHash" : "e8b67d625964fdfd7d9f29ee2c2134391b7242525df6b4b4a53d9f78c6c30997", "pins" : [ { "identity" : "abseil-cpp-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/abseil-cpp-binary.git", "state" : { "revision" : "748c7837511d0e6a507737353af268484e1745e2", "version" : "1.2024011601.1" } }, { "identity" : "ambassador", "kind" : "remoteSourceControl", "location" : "https://github.com/envoy/Ambassador.git", "state" : { "revision" : "447cf56f692999153bd261b1775ea4a58f7f7be9", "version" : "4.0.5" } }, { "identity" : "analytics-swift", "kind" : "remoteSourceControl", "location" : "https://github.com/segmentio/analytics-swift", "state" : { "revision" : "f6f3a7fafcace7bcdbda329f9b309f31bf9a42a1", "version" : "1.5.11" } }, { "identity" : "app-check", "kind" : "remoteSourceControl", "location" : "https://github.com/google/app-check.git", "state" : { "revision" : "076b241a625e25eac22f8849be256dfb960fcdfe", "version" : "10.19.1" } }, { "identity" : "appauth-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/openid/AppAuth-iOS.git", "state" : { "revision" : "c89ed571ae140f8eb1142735e6e23d7bb8c34cb2", "version" : "1.7.5" } }, { "identity" : "appsflyerframework-dynamic", "kind" : "remoteSourceControl", "location" : "https://github.com/AppsFlyerSDK/AppsFlyerFramework-Dynamic", "state" : { "revision" : "6c10e75825176f3fc6547b3755566c9604433fc9", "version" : "6.14.4" } }, { "identity" : "commonui_sdk_ios", "kind" : "remoteSourceControl", "location" : "https://github.com/zendesk/commonui_sdk_ios", "state" : { "revision" : "8729e7f4e316b46f6d33f046e663b6eedfe9955a", "version" : "9.0.1" } }, { "identity" : "core_sdk_ios", "kind" : "remoteSourceControl", "location" : "https://github.com/zendesk/core_sdk_ios", "state" : { "revision" : "8163d4d67f3aa8954467aa8191ee13cb4f1a2b9e", "version" : "5.0.3" } }, { "identity" : "divkit-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/divkit/divkit-ios", "state" : { "revision" : "8e44e1266f4325b382d18725c00d851d3143dafd", "version" : "28.13.0" } }, { "identity" : "embassy", "kind" : "remoteSourceControl", "location" : "https://github.com/envoy/Embassy.git", "state" : { "revision" : "8469f2c1b334a7c1c3566e2cb2f97826c7cca898", "version" : "4.1.6" } }, { "identity" : "facebook-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/facebook/facebook-ios-sdk", "state" : { "revision" : "9ed465ccd73c231144d49a9c681774577c616f34", "version" : "17.0.2" } }, { "identity" : "firebase-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/firebase-ios-sdk.git", "state" : { "revision" : "8bcaf973b1d84e119b7c7c119abad72ed460979f", "version" : "10.27.0" } }, { "identity" : "googleappmeasurement", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleAppMeasurement.git", "state" : { "revision" : "70df02431e216bed98dd461e0c4665889245ba70", "version" : "10.27.0" } }, { "identity" : "googledatatransport", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleDataTransport.git", "state" : { "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565", "version" : "9.4.0" } }, { "identity" : "googlesignin-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleSignIn-iOS.git", "state" : { "revision" : "a7965d134c5d3567026c523e0a8a583f73b62b0d", "version" : "7.1.0" } }, { "identity" : "googleutilities", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleUtilities.git", "state" : { "revision" : "57a1d307f42df690fdef2637f3e5b776da02aad6", "version" : "7.13.3" } }, { "identity" : "grpc-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/grpc-binary.git", "state" : { "revision" : "e9fad491d0673bdda7063a0341fb6b47a30c5359", "version" : "1.62.2" } }, { "identity" : "gtm-session-fetcher", "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { "revision" : "0382ca27f22fb3494cf657d8dc356dc282cd1193", "version" : "3.4.1" } }, { "identity" : "gtmappauth", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GTMAppAuth.git", "state" : { "revision" : "5d7d66f647400952b1758b230e019b07c0b4b22a", "version" : "4.1.1" } }, { "identity" : "interop-ios-for-google-sdks", "kind" : "remoteSourceControl", "location" : "https://github.com/google/interop-ios-for-google-sdks.git", "state" : { "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", "version" : "100.0.0" } }, { "identity" : "jsonsafeencoding-swift", "kind" : "remoteSourceControl", "location" : "https://github.com/segmentio/jsonsafeencoding-swift.git", "state" : { "revision" : "af6a8b360984085e36c6341b21ecb35c12f47ebd", "version" : "2.0.0" } }, { "identity" : "leveldb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/leveldb.git", "state" : { "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", "version" : "1.22.5" } }, { "identity" : "libphonenumber-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/iziz/libPhoneNumber-iOS", "state" : { "revision" : "a6f5cb0a2a264e8396da65b0fb27ecf0df8a975e", "version" : "1.1.0" } }, { "identity" : "messaging_sdk_ios", "kind" : "remoteSourceControl", "location" : "https://github.com/zendesk/messaging_sdk_ios", "state" : { "revision" : "4dbb16d26b90452c1d41cba8e8dc81a1bcea7f1e", "version" : "6.0.1" } }, { "identity" : "messagingapi_sdk_ios", "kind" : "remoteSourceControl", "location" : "https://github.com/zendesk/messagingapi_sdk_ios", "state" : { "revision" : "2f21e014a1f284edf484faf39b2b6fe377ec8c64", "version" : "6.0.0" } }, { "identity" : "metrica-sdk-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/yandexmobile/metrica-sdk-ios", "state" : { "revision" : "13d8b11181a33938ef42759d49466a621df5e7db", "version" : "4.5.2" } }, { "identity" : "nanopb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/nanopb.git", "state" : { "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1", "version" : "2.30910.0" } }, { "identity" : "otpublishersheadlesssdk", "kind" : "remoteSourceControl", "location" : "https://github.com/Zentrust/OTPublishersHeadlessSDK", "state" : { "revision" : "98957a36b9afb5371bb8b9151d57943557d9d373", "version" : "202404.1.0" } }, { "identity" : "outbrain-ios-framework", "kind" : "remoteSourceControl", "location" : "https://github.com/outbrain/outbrain-iOS-Framework", "state" : { "revision" : "0a3a11e92377672b8123e59553fe578633f0e165", "version" : "4.33.0" } }, { "identity" : "promises", "kind" : "remoteSourceControl", "location" : "https://github.com/google/promises.git", "state" : { "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac", "version" : "2.4.0" } }, { "identity" : "purchases-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/RevenueCat/purchases-ios.git", "state" : { "revision" : "7ec1091a6f929c40be2a1c695a63471f5d0c330d", "version" : "4.43.0" } }, { "identity" : "qonversion-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/qonversion/qonversion-ios-sdk", "state" : { "revision" : "328762e8ede9688ee89fd6f7cbd56027f9aec92a", "version" : "3.4.2" } }, { "identity" : "sdkconfigurations_sdk_ios", "kind" : "remoteSourceControl", "location" : "https://github.com/zendesk/sdkconfigurations_sdk_ios", "state" : { "revision" : "fec7b8bf3d85cb895a0820a2f9d102f9d6ba3070", "version" : "4.0.0" } }, { "identity" : "sovran-swift", "kind" : "remoteSourceControl", "location" : "https://github.com/segmentio/sovran-swift.git", "state" : { "revision" : "24867f3e4ac62027db9827112135e6531b6f4051", "version" : "1.1.2" } }, { "identity" : "support_providers_sdk_ios", "kind" : "remoteSourceControl", "location" : "https://github.com/zendesk/support_providers_sdk_ios", "state" : { "revision" : "16da780d8a0aa905b3935eee7836b9a0ee276597", "version" : "8.0.3" } }, { "identity" : "support_sdk_ios", "kind" : "remoteSourceControl", "location" : "https://github.com/zendesk/support_sdk_ios", "state" : { "revision" : "44cf26111bf0bc608a2474578b3d506793eef483", "version" : "8.0.3" } }, { "identity" : "swift-package-manager-google-mobile-ads", "kind" : "remoteSourceControl", "location" : "https://github.com/googleads/swift-package-manager-google-mobile-ads.git", "state" : { "revision" : "746253bf8803826e4de14c9e619739733ea8fb3b", "version" : "11.5.0" } }, { "identity" : "swift-package-manager-google-user-messaging-platform", "kind" : "remoteSourceControl", "location" : "https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git", "state" : { "revision" : "9b68aa69fb508f0274853e226c734151a973c7b7", "version" : "2.4.0" } }, { "identity" : "swift-protobuf", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-protobuf.git", "state" : { "revision" : "9f0c76544701845ad98716f3f6a774a892152bcb", "version" : "1.26.0" } }, { "identity" : "vgsl", "kind" : "remoteSourceControl", "location" : "https://github.com/yandex/vgsl.git", "state" : { "revision" : "714e915e99764be5940b4da7e30ccf9aea931eb4", "version" : "2.4.1" } }, { "identity" : "yandex-ads-sdk-swift", "kind" : "remoteSourceControl", "location" : "https://github.com/yandexmobile/yandex-ads-sdk-swift", "state" : { "revision" : "ccd6506e06e5f1d76dea054367ec97c562eeae73", "version" : "6.2.0" } } ], "version" : 3 } ```

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
```yml Replace this line with the contents of your Podfile.lock! ```
google-oss-bot commented 1 week ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

rizafran commented 1 week ago

Hi @yishair-investing, I tried reproducing the issue on iOS 18 using Xcode 16 beta, but I'm able to fetch the data successfully. With this, could you share a sample app that reproduces the issue?

yishair-investing commented 1 week ago

@rizafran its going very slow but seems to be working now, its taking about 120 seconds to load.

rizafran commented 1 week ago

It's good to hear that it's working now. As for the loading time, I'd suggest using other network or try restarting the Xcode and see if it would still take time to load. I'll now be closing this ticket, but feel free to comment if you encounter the issue again. Thanks.