mirror of
https://github.com/GayPizzaSpecifications/darwin-apk.git
synced 2025-08-03 21:41:31 +00:00
27 lines
850 B
Swift
27 lines
850 B
Swift
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
import Foundation
|
|
|
|
struct ApkIndexDownloader {
|
|
func downloadFile(remote remoteURL: URL, destination destLocalURL: URL) {
|
|
let sem = DispatchSemaphore.init(value: 0)
|
|
let downloadTask = URLSession.shared.downloadTask(with: remoteURL) { url, response, error in
|
|
if let localURL = url {
|
|
do {
|
|
// Replace existing APKINDEX.tar.gz files
|
|
if FileManager.default.fileExists(atPath: destLocalURL.path()) {
|
|
try FileManager.default.removeItem(at: destLocalURL)
|
|
}
|
|
// Move temporary to the new location
|
|
try FileManager.default.moveItem(at: localURL, to: destLocalURL)
|
|
} catch {
|
|
print("Download error: \(error.localizedDescription)")
|
|
}
|
|
}
|
|
sem.signal()
|
|
}
|
|
downloadTask.resume()
|
|
sem.wait()
|
|
}
|
|
}
|