diff --git a/Zealot.podspec b/Zealot.podspec index a979680..2ad6e22 100644 --- a/Zealot.podspec +++ b/Zealot.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = 'Zealot' - s.version = '0.2.0' + s.version = '0.2.1' s.summary = 'App new beta version check for zealot. Learn more at https://zealot.ews.im' s.homepage = 'https://zealot.ews.im' s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/Zealot/Classes/Zealot.swift b/Zealot/Classes/Zealot.swift index 3526a23..09c6390 100644 --- a/Zealot/Classes/Zealot.swift +++ b/Zealot/Classes/Zealot.swift @@ -13,21 +13,21 @@ public final class Zealot: NSObject { public var enviroment: String public var endpoint: String public var channelKeys: [String: String] = [:] - + public init(endpoint: String, channelKey: String) { self.endpoint = endpoint self.enviroment = defaultEnvironment self.channelKeys[enviroment] = channelKey super.init() } - + public init(endpoint: String, channelKey: String, enviroment: String) { self.endpoint = endpoint self.enviroment = enviroment self.channelKeys[enviroment] = channelKey super.init() } - + public init(endpoint: String, channelKeys: [String: String], default_enviroment: String) { self.endpoint = endpoint self.enviroment = default_enviroment @@ -38,11 +38,11 @@ public final class Zealot: NSObject { // MARK: - Public methods public extension Zealot { - + func setChannelKey(channelKey: String, environment: String) { self.channelKeys[environment] = channelKey } - + func checkVersion() { let client = try! Client(endpoint: endpoint, channelKey: useChannelKey()) client.checkVersion { (result) in @@ -64,7 +64,7 @@ private extension Zealot { let alertController = createAlertVC(releases: channel.releases) WindowHandler.shared.present(viewController: alertController) } - + func updateAlertAction(url: String) -> UIAlertAction { return UIAlertAction(title: "立即更新", style: .default) { (UIAlertAction) in guard let installUrl = URL(string: url) else { return } @@ -78,31 +78,31 @@ private extension Zealot { } } } - + func cancelAlertAction() -> UIAlertAction { return UIAlertAction(title: "下次再说", style: .cancel) { (UIAlertAction) in WindowHandler.shared.dismiss() } } - + func createAlertVC(releases: [Channel.Release]) -> UIAlertController { let release = releases[0] - + let title = "⭐️发现新版本⭐️" let message = "\(release.releaseVersion) (\(release.buildVersion))" let changelog = generateChangelog(releases: releases) - - - + + + let alert = UIAlertController(title: title, message: message, preferredStyle: .alert) - + alert.setMaxHeight(UIScreen.main.bounds.height / 2) alert.addTextView(text: changelog) alert.addAction(updateAlertAction(url: release.installUrl)) alert.addAction(cancelAlertAction()) - + return alert } } @@ -111,14 +111,16 @@ private extension Zealot { private extension Zealot { func generateChangelog(releases: [Channel.Release]) -> String { var changelogMessage = [String]() + var number = 1 for release in releases { - for (index, changelog) in release.changelog.enumerated() { + for changelog in release.changelog { if changelog.message.isEmpty { continue } - - changelogMessage.append("\(index + 1). \(changelog.message)") + + changelogMessage.append("\(number). \(changelog.message)") + number += 1 } } - + return changelogMessage.joined(separator: "\n") } @@ -128,10 +130,10 @@ private extension Zealot { if defaultChannelkey != nil { return defaultChannelkey! } - + throw ZealotError.notFoundChannelKey } - + return channelKey } }