ETDistribution 是一个 Swift 库,它简化了分发新应用程序版本和检查更新的过程。它提供了一个易于使用的 API 来验证是否有新版本可用,并无缝处理更新过程,确保您的用户始终使用最新版本。
要将 ETDistribution 集成到您的项目中,请将以下行添加到您的 Package.swift 文件中
dependencies: [
.package(url: "https://github.com/EmergeTools/ETDistribution.git", from: "v0.1.2")
]
ETDistribution 库提供了一个简单的 API 来检查更新
import UIKit
import ETDistribution
ETDistribution.shared.checkForUpdate(apiKey: "YOUR_API_KEY") { result in
switch result {
case .success(let releaseInfo):
if let releaseInfo {
print("Update found: \(releaseInfo)")
guard let url = ETDistribution.shared.buildUrlForInstall(releaseInfo.downloadUrl) else {
return
}
DispatchQueue.main.async {
UIApplication.shared.open(url) { _ in
exit(0)
}
}
} else {
print("Already up to date")
}
case .failure(let error):
print("Error checking for update: \(error)")
}
}
对于 Objective-C
[[ETDistribution sharedInstance] checkForUpdateWithApiKey:@"YOUR_API_KEY"
tagName:nil
onReleaseAvailable:^(DistributionReleaseInfo *releaseInfo) {
NSLog(@"Release info: %@", releaseInfo);
}
onError:^(NSError *error) {
NSLog(@"Error checking for update: %@", error);
}];
如果您不提供完成处理程序,将显示一个默认 UI,询问是否应安装更新。
需要 API 密钥才能验证请求。您可以从 Emerge Tools 仪表板获取 API 密钥。获得密钥后,您可以将其作为参数传递给 checkForUpdate
方法。
标签可用于关联构建,您可以使用标签来表示开发分支、内部项目或任何团队构建。如果同一个二进制文件已使用多个标签上传,则可以指定 tagName 来区分它们。通常不需要这样做,因为 SDK 会自动识别标签。
可以配置登录级别,以便某些操作(例如下载更新或检查更新)需要登录。它们在 Emerge Tools 设置 中进行设置。您应该在应用程序级别匹配该级别。
有几个覆盖选项可以帮助调试集成并测试 SDK。 它们是:
默认情况下,如果没有提供完成闭包,SDK 将向用户显示一个警报,提示他们安装该版本。您可以使用 API 提供的闭包自定义此行为。
要查看 ETDistribution 的实际效果,请查看我们的示例项目。该示例演示了如何在 Swift 和 Objective-C 项目中集成和使用该库。
有关更详细的文档和其他示例,请访问我们的 文档站点。
该库旨在跳过模拟器上的更新检查。要测试更新功能,请在物理设备上运行您的应用程序。
可能有以下几个原因:
在处理响应时,您可以检查发布版本字段以决定是否应安装它。
不能,由于二进制签名者不同(从 AppStore 安装的构建由 Apple 签名),更新将失败。
是的,有 3 个安全选项:
这些选项可以在 Emerge Tools 设置 中按平台进行配置。