SSAppUpdater 1.5.0

SSAppUpdater 1.5.0

Simform Solutions 维护。



  • Simform Solutions

SSAppUpdater

SSAppUpdater 是一个开源框架,它比较应用当前的版本和商店的版本,并返回其重要详细信息,如应用 URL、新应用版本号、新发布说明等。因此,您可以重定向或通知用户更新他们的应用。

Swift Version License Carthage Compatible SwiftPM Compatible Platform PRs Welcome

屏幕截图

更新类型

强制更新 可选更新 跳过版本
Alt text Alt text Alt text

功能!

  • 检查您已安装的应用的最新版本
  • 提供新版本发布说明
  • 提供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。此属性的替换值是 dailyweeklymonthly

  • 如果需要,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