VersionManager

public class VersionManager : @unchecked Sendable

版本管理器

Accessor

  • 单例模式

    Declaration

    Swift

    public static let shared: VersionManager
  • 当前版本号,可自定义。小于最新版本号表示需要更新,大于最新版本号表示正在审核

    Declaration

    Swift

    public var currentVersion: String
  • 最新版本号,可自定义。默认从AppStore获取

    Declaration

    Swift

    public var latestVersion: String?
  • 当前版本状态,可自定义。根据最新版本号和当前版本号比较获得

    Declaration

    Swift

    public var status: VersionStatus
  • 最新版本更新备注,可自定义。默认从AppStore获取

    Declaration

    Swift

    public var releaseNotes: String?
  • 应用Id,可选,默认自动根据BundleId获取

    Declaration

    Swift

    public var appId: String?
  • 地区码,可选,仅当app不能在美区访问时提供。示例:中国-cn

    Declaration

    Swift

    public var countryCode: String?
  • 版本发布延迟检测天数,可选,默认1天,防止上架后AppStore缓存用户无法立即更新

    Declaration

    Swift

    public var delayDays: Int
  • 数据版本号,可自定义。当数据版本号小于当前版本号时,会依次执行数据更新句柄

    Declaration

    Swift

    public var dataVersion: String?

Lifecycle

  • Undocumented

    Declaration

    Swift

    public init()

Public

  • 检查应用版本号并进行比较,检查成功时回调。interval为频率(天),0立即检查,1一天一次,7一周一次

    Declaration

    Swift

    @discardableResult
    public func checkVersion(_ interval: Int, completion: (@MainActor @Sendable () -> Void)?) -> Bool
  • 跳转AppStore更新页,force为是否强制更新

    Declaration

    Swift

    public func openAppStore(force: Bool = false)
  • 检查数据版本号并指定版本迁移方法,调用migrateData之前生效,仅会调用一次

    Declaration

    Swift

    @discardableResult
    public func checkDataVersion(_ version: String, migration: @escaping @Sendable () -> Void) -> Bool
  • 比较数据版本号并依次进行数据迁移,迁移完成时回调(不执行迁移不回调)

    Declaration

    Swift

    @discardableResult
    public func migrateData(_ completion: (@MainActor @Sendable () -> Void)?) -> Bool