SSAppUpdater 是一个开源框架,旨在简化 iOS 和 macOS 应用程序将当前版本与 App Store 中可用版本进行比较的过程。它提供关键信息,如应用程序的 URL、新版本号和发行说明。通过这些信息,您可以通知用户有关最新版本的可用性,并引导他们更新应用程序。
1.通过 AppStore 自动版本比较: SSAppUpdater 自动将应用程序的当前版本与 App Store 中提供的最新版本进行比较,确保用户始终在有可用更新时收到通知。
强制更新 | 可选更新 | 跳过版本 |
---|---|---|
![]() |
![]() |
![]() |
强制更新 | 可选更新 |
---|---|
![]() |
![]() |
跳过版本 | 使用自定义提醒更新 |
---|---|
![]() |
![]() |
2.通过服务器手动 macOS 更新程序: SSAppUpdater 允许在 macOS 上进行手动版本比较,通过检查当前应用程序版本与自定义服务器上提供的最新版本,为非通过 App Store 分发的应用程序提供灵活性。
3.可自定义的更新提醒: 该框架提供灵活的选项,向用户呈现更新提醒,使开发人员能够控制何时以及如何使用自定义 UI 通知用户有关新更新。
您可以将 SSAppUpdater 添加到您的 Podfile 中,以使用 CocoaPods 安装它。将以下行添加到您想要使用 SSAppUpdater 的目标块中的 Podfile 中
pod 'SSAppUpdater'
要在您的项目中使用 SSAppUpdater,只需在需要的地方导入它,将以下行添加到您的 Swift 文件中:import SSAppUpdater
要手动将 SSAppUpdater 添加到您的项目,请按照以下步骤操作
您现在可以继续前进了。
如果您使用的是 Xcode 11 或更高版本,可以通过以下步骤安装 SSAppUpdater
通过项目设置添加
通过菜单选项添加
dependencies: [
.package(url: "https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git", from: "1.1.0")
]
Carthage 是一个去中心化的依赖管理器,它可以构建您的依赖项并为您提供二进制框架。要安装 Carthage,您可以使用 Homebrew,使用以下命令
$ brew update
$ brew install carthage
要使用 Carthage 将 SSAppUpdater 集成到您的 Xcode 项目中,请将以下行添加到您的 Cartfile 中
github "SimformSolutionsPvtLtd/SSAppUpdater"
运行 carthage
以构建并将 SSAppUpdater
(Sources/SSAppUpdater)拖到您的 Xcode 项目中。
SSAppUpdater 会自动检查您 iOS 或 macOS 应用程序的当前安装版本与 App Store 上提供的最新版本。当有可用更新时,它会显示新的版本号、App Store URL、App ID 和发行说明,让用户可以选择更新。如果使用了默认提醒并且在收到更新通知后失去互联网连接,SSAppUpdater 将阻止重定向到 App Store,并显示有关连接问题的提醒。
它使用 iTunes Search API 获取详细信息,然后用于向用户显示更新提醒。
它允许您在 macOS 上显示默认的 NSAlert 或在 iOS 上显示 UIAlert。
要使用默认提醒,请使用以下参数调用 SSAppUpdater.shared.performCheck
isForceUpdate
- 布尔值,检查用户是否要强制更新。updateAlertFrequency
- 用户可以选择提醒显示时间。默认值为 .always
。此属性的替代值为 daily
、weekly
和 monthly
。skipVersionAllow
- 此功能允许用户激活 "skipVersion" 功能。redirectToMacAppStore
- 此设置专门用于 macOS 用户。它让用户可以选择是定向到 App Store 应用程序,还是留在当前应用程序中访问 App Store。completion
- 这将在完成块中为您提供版本信息。用法
SSAppUpdater.shared.performCheck() { (versionInfo) in
// Version Info have all the app update related information
// Display AppUpdate UI based on versionInfo.isAppUpdateAvailable flag
}
使用此功能的前提条件是拥有一个服务器来上传最新版本。
此功能仅适用于macOS 应用程序,这些应用程序不是通过 App Store 分发的,但仍需要保持用户的系统更新。
它还涉及用新版本替换当前版本。当用户在默认提醒中按下“更新”时,应用程序将自动退出,删除旧版本,并安装最新版本。
上传构建指南
安装 SSAppUpdater 的 pods。
BuildRelease.sh 脚本将在 Pods/SSAppUpdater/Sources/AppDeployment 目录中找到。
配置构建脚本(一次性设置)
"${PODS_ROOT}/SSAppUpdater/Sources/AppDeployment/BuildRelease.sh"
对于新版本,请使用最新构建详细信息(包括发行说明和服务器基本 URL)更新位于 Pods/SSAppUpdater/Sources/AppDeployment
的 version_info.txt 文件。文件结构是预定义的;只需修改它以反映新版本。(Server URL
必须指定要存储文件的目录的路径,而不包括文件名)
更新 version_info.txt 文件后,按照以下步骤创建归档
Pods/SSAppUpdater/Sources/AppDeployment/AutoGeneratedContent/ExportedArchiveContent.
使用指南
SSAppUpdater.shared.performManualMacAppVersionCheck
检查服务器上的最新更新。此函数接受以下参数url
- 提供 version.xml 文件的正确 URL,无论它托管在哪里。isForceUpdate
- 布尔值,检查用户是否要强制更新。skipVersionAllow
- 此功能允许用户激活 "skipVersion" 功能。completion
- 这将在完成块中为您提供版本信息。注意:在函数参数中输入您首选的服务器 URL,无论它托管在 AWS、Azure 还是任何其他平台上。
用法
SSAppUpdater.shared.performManualMacAppVersionCheck(url: "https://yourawsbucketname/Release/version.xml"
) { versionInfo in
print(versionInfo)
}
将显示一个自定义提醒,其中 SSAppUpdater.shared.performCheckAndDisplayCustomAlert
返回版本信息,允许您使用检索到的详细信息填充提醒。
要使用自定义提醒,请使用以下参数调用 SSAppUpdater.shared.performCheckAndDisplayCustomAlert
completion
- 这将在完成块中为您提供版本信息。用法
SSAppUpdater.shared.performCheckAndDisplayCustomAlert { (versionInfo) in
// Version Info have all the app update related information
}