SSAppUpdater
SSAppUpdater 是一个开源框架,它比较应用当前的版本和商店的版本,并返回其重要详细信息,如应用 URL、新应用版本号、新发布说明等。因此,您可以重定向或通知用户更新他们的应用。
屏幕截图
更新类型
强制更新 | 可选更新 | 跳过版本 |
---|---|---|
![]() |
![]() |
![]() |
功能!
- 检查您已安装的应用的最新版本
- 提供新版本发布说明
- 提供AppID和应用商店URL
- CocoaPods
需求
- 支持iOS 10.0以上版本
- 支持Xcode 9以上版本
安装
CocoaPods
-
您可以使用CocoaPods将SSAppUpdater添加到Podfile中安装。
use_frameworks! pod 'SSAppUpdater'
-
import SSAppUpdater
手动安装
- 下载并将
SSAppUpdater
文件夹拖入您的项目中。 - 恭喜!
Swift Package Manager
- 当使用 Xcode 11 或更高版本时,您可以通过前往项目设置 >
Swift Packages
来安装SSAppUpdater
并通过提供 GitHub 网址添加存储库。或者,您还可以前往文件
>Swift Packages
>添加包依赖...
dependencies: [
.package(url: "https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git", from: "1.1.0")
]
Carthage
- Carthage 是一种去中心化的依赖管理工具,可以编译您的依赖项并向您提供二进制框架。您可以使用以下命令使用 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 SSAppUpdater
集成到您的 Xcode 项目中,请将以下行添加到您的 Cartfile
github ""SimformSolutionsPvtLtd/SSAppUpdater""
运行 carthage
编译并将 SSAppUpdater
(Sources/SSAppUpdater)拖放到您的 Xcode 项目中。
工作原理
-
SSAppUpdater 将您 iOS 应用当前安装版本与当前 App Store 中可用的新版本进行比较。当有更新可用时,SSAppUpdater 可以向用户提供新的版本号、App Store URL、App ID 和发布说明,并允许用户选择更新。
-
SSAppUpdater 是如何实现这一点的?首先,它使用 iTunes 搜索 API 获取信息。
isForceUpdate: false updateAlertFrequency: .always showDefaultAlert: true
-
除此之外,使用
isForceUpdate
布尔值检查用户是否想要强制更新。 -
使用
updateAlertFrequency
,用户可以选择警报显示时间。默认值将是.always
。此属性的替换值是daily
、weekly
和monthly
。 -
如果需要,SSAppUpdater 允许开发者创建自定义 UI。使用
showDefaultAlert
布尔值检查用户是否想要显示默认警报或自定义 UI。
使用示例
实现
- 实现 SSAppUpdater 非常简单,只需在你的
AppDelegate.swift
中添加两行代码,或者在你需要的地方。 (此块将返回版本信息)
AppDelegate.swift 示例
import SSAppUpdater
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
window?.makeKeyAndVisible()
//defaultExample
SSAppUpdater.shared.performCheck { (versionInfo) in
// Version Info have all the app update releated information
// Display AppUpdate UI based on versionInfo.isAppUpdateAvailable flag
}
//customExample
SSAppUpdater.shared.performCheck(isForceUpdate: false, updateAlertFrequency: .always, showDefaultAlert: true) { (versionInfo) in
// Version Info have all the app update releated information
}
}
}
灵感来源
- SSAppUpdater 受启发于 Siren