需要将值从Firebase远程配置更新到我的plist

时间:2019-03-08 06:00:55

标签: ios swift xcode firebase

在我的Firebase远程配置中,我有一个名为的参数:

"uniquId" = {[1,2,3,4,5,6,7,8,9,10,11,12,14,14]}

我创建了一个plist:FireStoreRemoteConfig

现在,我需要从firebase远程配置中获取值,并且需要将值存储在plist中,并且需要在我的应用程序中使用该数组值。

在我的appdelegate中:

import FirebaseRemoteConfig
 func applicationDidBecomeActive(_ application: UIApplication) {
setUpAppRemoteConfig()
}
func setUpAppRemoteConfig()
    {
        remoteConfig = RemoteConfig.remoteConfig()
        let remoteConfigSettings = RemoteConfigSettings(developerModeEnabled: true)
        remoteConfig.configSettings = remoteConfigSettings
        remoteConfig.setDefaults(fromPlist: "FireStoreRemoteConfig")
        fetchConfig()
    }
 func fetchConfig() {
        print("fetched from firestore")
        let DataVal = remoteConfig[sampleURLConfigKey].stringValue
        print(DataVal)

    }

在我的plist文件中,创建一个参数名称为uniquId且值为空的数组。

现在每次我启动我的应用程序时。我需要从Firestore获取值并更新到我的plist。这样我就可以在应用程序中使用这些值。

现在,当我在print(DataVal)中打印func fetchConfig() {时,这些值不再显示。

1 个答案:

答案 0 :(得分:0)

您步入正轨。 fetchConfig()中仅缺少小代码。您尚未从远程配置中获取值或数据。

您更新的代码应如下所示:

func fetchConfig() {

        // You can give your required duration
        var expirationDuration = 3600
        if remoteConfig.configSettings.isDeveloperModeEnabled {
            expirationDuration = 0
        }

        remoteConfig.fetch(withExpirationDuration: TimeInterval(expirationDuration)) { (status, error) -> Void in
            if status == .success {
                print("Config fetched!")
                self.remoteConfig.activateFetched()
            } else {
                print("Config not fetched")
                print("Error \(error!.localizedDescription)")
            }
            let DataVal = self.remoteConfig[self.sampleURLConfigKey].stringValue
            // You can print and check your  DataVal.



        }

检查:Firebase Remote Config iOS