FirebaseCheckVersion 1.1.0

FirebaseCheckVersion 1.1.0

Mario Monaco 维护。



  • 作者:
  • andoma93

FirebaseCheckVersion

Version License Platform

摘要

FirebaseCheckVersion 是一个简单的 iOS 库,当您的应用程序有新版本可用时,会通知用户。它可以通过 Firebase 远程配置进行配置。请查阅配置部分了解详细信息。

示例

要运行示例项目,首先克隆仓库,然后在 Examples 目录中运行 pod install

要求

一个 iOS Swift 项目和时间 10 分钟。

安装

FirebaseCheckVersion可通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile

pod 'FirebaseCheckVersion'

配置

首先,如果您还没有创建iOS应用的Firebase项目,则需要创建一个项目。访问Firebase控制台并创建您的项目

alt text

创建项目后,您需要将iOS应用与其链接

alt text

现在,请将bundle id填入自己的信息,下载Firebase为您的项目创建的GoogleService-Info.plist,并将其拖入您的XCode项目中的以下方式

alt text

现在,在AppDelegate.swift文件中,写入FirebaseApp.configure()FirebaseCheckVersionConfiguration.default.shared = UIApplication.shared作为didFinishLaunchingWithOptions:方法的第一行这样做

import Firebase
...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    FirebaseCheckVersionConfiguration.default.shared = UIApplication.shared
    // Override point for customization after application launch.
    return true
}

完成!

用法

将版本添加到Firebase

配置完成后,您需要在Firebase项目中设置版本,因此导航到Firebase中的“远程配置”部分,并添加一个新属性,其键为iOSVersion_<yourVersionWithUnderscore>,其中是您的版本号或构建号(取决于您要使用哪种方法),以下划线代替点:例如。

1.0 --> 1_0
1.1 --> 1_1
10.03.9 --> 10_03_9
12 --> 12

因此,如果您的应用版本是1.0,请配置一个新远程配置,如下所示

alt text

您可以为版本提供的可能值

  1. versionOk表示版本是最新的
  2. infoUpdate表示版本不是最新的,但可以用于您的应用程序
  3. forceUpdate表示版本不是最新的,并且不能用于您的应用程序

将检查添加到您的应用中

静默检查

在 UIViewController 中,如果您想无声添加检查,需要插入以下代码行

import CheckVersion
...

FirebaseCheckVersion.checkVersion{ result in
    //check result and do what you want
}

其中 result 是一个枚举,具有以下可能的值

  1. versionOk 表示您的版本目前正常
  2. infoUpdate表示版本不是最新的,但可以用于您的应用程序
  3. forceUpdate表示版本不是最新的,并且不能用于您的应用程序
  4. versionUnknown 表示您的版本在 Firebase 控制台中未配置
  5. error 表示发生了错误

警报检查

在 UIViewController 中,如果您想添加带有警报的检查,需要插入以下代码行

import CheckVersion
...

FirebaseCheckVersion.checkBuildWithAlert(viewController: self){ result in
    //check result and do what you want
}

其中 result 是一个布尔值,如果您的版本正常,则值为 true,否则为 false

drawing drawing drawing

应用程序配置

可以选择这些自定义库配置之一

import CheckVersion
...

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    FirebaseCheckVersionConfiguration.default.urlStore = URL(string: "itms-apps://itunes.apple.com/<myAppId>")! //where myAppID is your store application id
    FirebaseCheckVersionConfiguration.default.continueOnError = false //continue in case of error (default is true)
    FirebaseCheckVersionConfiguration.default.continueOnVersionUnknown = false //continue in case of version unknown (default is true)
    FirebaseCheckVersionConfiguration.default.prependKey = "" //the prepend string you can insert in firebase console before (default is 'iOSVersion_')
    FirebaseCheckVersionConfiguration.default.duration = TimeInterval(120) //the duration of Firebase Remote Configuration Cache (default is 60 seconds)
    // Override point for customization after application launch.
    return true
}

目前库仅支持英语,因此如果您想使用内置警报,也可以更改这些配置属性

import CheckVersion
...

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    FirebaseCheckVersionConfiguration.default.labelAlertError = "Si è verificato un errore generico, per favore riprova più tardi"
    FirebaseCheckVersionConfiguration.default.labelButtonNotNow = "Non adesso"
    FirebaseCheckVersionConfiguration.default.labelButtonUpdate = "Aggiorna"
    FirebaseCheckVersionConfiguration.default.labelForceUpdate = "E' disponibile una nuova versione dell'app: per favore aggiornala adesso"
    FirebaseCheckVersionConfiguration.default.labelInfoUpdate = "E' disponibile una nuova versione dell'app: se vuoi aggiornala adesso"
    FirebaseCheckVersionConfiguration.default.labelAlertTitle = "Attenzione"
    FirebaseCheckVersionConfiguration.default.labelButtonOk = "Ok"
    // Override point for customization after application launch.
    return true
}

作者

张强,[email protected]

许可

FirebaseCheckVersion 使用 MIT 许可证提供。更多信息请参阅 LICENSE 文件。