AppUpdately
Fetch the update status for a given app bundle identifier, without the need of any remote configuration. Simply provide your app's bundle identifier and compare the resulting update status.
Usage
The fetcher automatically fetches the bundle identifier. You can use the following code example:
var cancellable: AnyCancellable?
cancellable = UpdateStatusFetcher().fetch { result in
defer { cancellable?.cancel() }
guard let status = try? result.get() else { return }
switch status {
case .upToDate:
break
case .updateAvailable(let version, let storeURL):
// Use the information to present your update alert or view.
}
}
Or with async/await:
Task {
let fetcher = UpdateStatusFetcher()
let status = try await fetcher.fetch()
switch status {
case .upToDate:
break
case .updateAvailable(let version, let storeURL):
// Use the information to present your update alert or view.
}
}
Installation
Swift Package Manager
Add https://github.com/AvdLee/AppUpdately.git
within Xcode's package manager.
Manifest File
Add AppUpdately as a package to your Package.swift
file and then specify it as a dependency of the Target in which you wish to use it.
import PackageDescription
let package = Package(
name: "MyProject",
platforms: [
.macOS(.v10_15)
.iOS(.v13)
],
dependencies: [
.package(url: "https://github.com/AvdLee/AppUpdately.git", .upToNextMajor(from: "1.0.0"))
],
targets: [
.target(
name: "MyProject",
dependencies: ["AppUpdately"]),
.testTarget(
name: "MyProjectTests",
dependencies: ["MyProject"]),
]
)
License
AppUpdately is available under the MIT license. See the LICENSE file for more info.