AppStoreVersion
由于维护某些功能(特别是如果您有一个随着开发的应用程序版本而发展的REST API)并不总是容易,所以决定创建这个框架来检查用户是否拥有可用的最新版本。
安装
AppStoreVersion 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的Podfile
pod 'AppStoreVersion'
使用
本框架的使用非常简单。您有两种方法来检查已安装版本是否为最新版本。
😎
最简单的方法如果您想让框架管理向用户显示的提示警报,只需在检查版本的代码位置调用即可
AppStoreVersion.check(bundle: Bundle.main)
如果您的应用程序安装的版本是最新的,则它将不执行任何操作。如果不是,它将使用UIAlertAction向用户显示一个UIAlertView,并将其重定向到AppStore中您应用程序的页面。
🚀
自由之路如果您想管理用户的显示,这同样很简单,您只需调用
AppStoreVersion.check(bundle: Bundle.main) { (upToDate, error) in
if error != nil {
print(error!.localizedDescription)
} else if !upToDate {
//TODO: Display to the users that their not using the latest version.
}
}
本地化
此框架基于当前设备本地化,如果没有当前区域设置的本地化翻译,将使用英文版本显示。
可用
添加本地化
寻找翻译?创建一个拉取请求或打开一个问题。
键 | 示例 |
---|---|
AppStoreVersion.NewVersionTitle | 有新版本可用! |
AppStoreVersion.NewVersionMessage | AppStore中的版本%@可用。 |
AppStoreVersion.Download | 下载 |
AppStoreVersion.Later | 稍后 |
配置
为了成为一个非常灵活的框架,您可以直接从代码中配置一些特性和数据。
例如,默认情况下,框架显示给用户的提示框会提供一个“稍后”按钮,可以隐藏UIAlertViewController
。如果您想强制用户下载最新版本,只需说出来
AppStoreVersion.Config.optional = false
您也可以自己配置本地化
AppStoreVersion.Config.Alert.title = "New version!"
AppStoreVersion.Config.Alert.message = "Find out our new features."
AppStoreVersion.Config.Alert.downloadActionTitle = "Let's do it!"
AppStoreVersion.Config.Alert.laterActionTitle = "No, thanks."
默认值
配置 | 默认 |
---|---|
AppStoreVersion.Config.optional |
是 |
AppStoreVersion.Config.Alert.title |
NSLocalizedString("AppStoreVersion.NewVersionTitle", comment: "") |
AppStoreVersion.Config.Alert.message |
NSLocalizedString("AppStoreVersion.NewVersionMessage", comment: "") |
AppStoreVersion.Config.Alert.downloadActionTitle |
NSLocalizedString("AppStoreVersion.Download", comment: "") |
AppStoreVersion.Config.Alert.laterActionTitle |
NSLocalizedString("AppStoreVersion.Later", comment: "") |
错误
框架扩展了 `Error`
以通知以下错误
案例 | 描述 |
---|---|
invalidAppStoreResponseCode |
如果请求App Store查找API返回无效响应代码,则返回。 |
unableToReadAppStoreResponse |
如果框架无法读取从App Store查找API返回的JSON,则返回。 |
mandatoryKeysNotFound |
如果框架无法在从App Store查找API返回的JSON中找到必需的密钥,则返回。 |
appStoreVersionNotFound |
如果框架无法在从App Store查找API返回的JSON中找到您的应用的App Store版本,则返回。 |
贡献
此框架非常简单,我希望它保持这样。但任何新的功能或建议都始终欢迎,因此请随意提出拉取请求或打开问题。
作者
用