mas/mas-cli/AppStore/Downloader.swift

40 lines
1.1 KiB
Swift
Raw Normal View History

//
// Downloader.swift
// mas-cli
//
// Created by Andrew Naylor on 21/08/2015.
// Copyright (c) 2015 Andrew Naylor. All rights reserved.
//
2015-08-25 02:45:54 +08:00
func download(adamId: UInt64) -> MASError? {
2015-08-25 02:45:54 +08:00
if let account = ISStoreAccount.primaryAccount {
let group = dispatch_group_create()
let purchase = SSPurchase(adamId: adamId, account: account)
var purchaseError: MASError?
purchase.perform { purchase, completed, error, response in
if completed {
let observer = PurchaseDownloadObserver(purchase: purchase)
observer.onCompletion {
dispatch_group_leave(group)
}
CKDownloadQueue.sharedDownloadQueue().addObserver(observer)
}
else {
purchaseError = MASError(code: .PurchaseError, sourceError: error)
dispatch_group_leave(group)
}
}
dispatch_group_enter(group)
dispatch_group_wait(group, DISPATCH_TIME_FOREVER)
return purchaseError
}
2015-08-25 02:45:54 +08:00
else {
return MASError(code: .NotSignedIn)
}
}