FirebaseCheckVersion
摘要
FirebaseCheckVersion 是一个简单的 iOS 库,当您的应用程序有新版本可用时,会通知用户。它可以通过 Firebase 远程配置进行配置。请查阅配置部分了解详细信息。
示例
要运行示例项目,首先克隆仓库,然后在 Examples 目录中运行 pod install
。
要求
一个 iOS Swift 项目和时间 10 分钟。
安装
FirebaseCheckVersion可通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile
pod 'FirebaseCheckVersion'
配置
首先,如果您还没有创建iOS应用的Firebase项目,则需要创建一个项目。访问Firebase控制台并创建您的项目
创建项目后,您需要将iOS应用与其链接
现在,请将bundle id填入自己的信息,下载Firebase为您的项目创建的GoogleService-Info.plist,并将其拖入您的XCode项目中的以下方式
现在,在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,请配置一个新远程配置,如下所示
您可以为版本提供的可能值
versionOk
表示版本是最新的infoUpdate
表示版本不是最新的,但可以用于您的应用程序forceUpdate
表示版本不是最新的,并且不能用于您的应用程序
将检查添加到您的应用中
静默检查
在 UIViewController 中,如果您想无声添加检查,需要插入以下代码行
import CheckVersion
...
FirebaseCheckVersion.checkVersion{ result in
//check result and do what you want
}
其中 result
是一个枚举,具有以下可能的值
versionOk
表示您的版本目前正常infoUpdate
表示版本不是最新的,但可以用于您的应用程序forceUpdate
表示版本不是最新的,并且不能用于您的应用程序versionUnknown
表示您的版本在 Firebase 控制台中未配置error
表示发生了错误
警报检查
在 UIViewController 中,如果您想添加带有警报的检查,需要插入以下代码行
import CheckVersion
...
FirebaseCheckVersion.checkBuildWithAlert(viewController: self){ result in
//check result and do what you want
}
其中 result
是一个布尔值,如果您的版本正常,则值为 true
,否则为 false
。
应用程序配置
可以选择这些自定义库配置之一
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
}
作者
许可
FirebaseCheckVersion 使用 MIT 许可证提供。更多信息请参阅 LICENSE 文件。