mirror of
https://github.com/mas-cli/mas
synced 2025-02-16 12:38:30 +00:00
Use a guard instead to make it tidier
This commit is contained in:
parent
d80ad6e866
commit
490c73c6ac
1 changed files with 38 additions and 39 deletions
|
@ -8,45 +8,44 @@
|
|||
|
||||
func download(adamId: UInt64) -> MASError? {
|
||||
|
||||
if let account = ISStoreAccount.primaryAccount {
|
||||
let group = dispatch_group_create()
|
||||
let purchase = SSPurchase(adamId: adamId, account: account)
|
||||
|
||||
var purchaseError: MASError?
|
||||
|
||||
purchase.perform { purchase, unused, error, response in
|
||||
if let error = error {
|
||||
purchaseError = MASError(code: .PurchaseError, sourceError: error)
|
||||
dispatch_group_leave(group)
|
||||
return
|
||||
}
|
||||
|
||||
if let downloads = response.downloads where downloads.count > 0 {
|
||||
let observer = PurchaseDownloadObserver(purchase: purchase)
|
||||
|
||||
observer.errorHandler = { error in
|
||||
purchaseError = error
|
||||
dispatch_group_leave(group)
|
||||
}
|
||||
|
||||
observer.completionHandler = {
|
||||
dispatch_group_leave(group)
|
||||
}
|
||||
|
||||
CKDownloadQueue.sharedDownloadQueue().addObserver(observer)
|
||||
}
|
||||
else {
|
||||
print("No downloads")
|
||||
purchaseError = MASError(code: .NoDownloads)
|
||||
dispatch_group_leave(group)
|
||||
}
|
||||
}
|
||||
|
||||
dispatch_group_enter(group)
|
||||
dispatch_group_wait(group, DISPATCH_TIME_FOREVER)
|
||||
return purchaseError
|
||||
}
|
||||
else {
|
||||
guard let account = ISStoreAccount.primaryAccount else {
|
||||
return MASError(code: .NotSignedIn)
|
||||
}
|
||||
|
||||
let group = dispatch_group_create()
|
||||
let purchase = SSPurchase(adamId: adamId, account: account)
|
||||
|
||||
var purchaseError: MASError?
|
||||
|
||||
purchase.perform { purchase, unused, error, response in
|
||||
if let error = error {
|
||||
purchaseError = MASError(code: .PurchaseError, sourceError: error)
|
||||
dispatch_group_leave(group)
|
||||
return
|
||||
}
|
||||
|
||||
if let downloads = response.downloads where downloads.count > 0 {
|
||||
let observer = PurchaseDownloadObserver(purchase: purchase)
|
||||
|
||||
observer.errorHandler = { error in
|
||||
purchaseError = error
|
||||
dispatch_group_leave(group)
|
||||
}
|
||||
|
||||
observer.completionHandler = {
|
||||
dispatch_group_leave(group)
|
||||
}
|
||||
|
||||
CKDownloadQueue.sharedDownloadQueue().addObserver(observer)
|
||||
}
|
||||
else {
|
||||
print("No downloads")
|
||||
purchaseError = MASError(code: .NoDownloads)
|
||||
dispatch_group_leave(group)
|
||||
}
|
||||
}
|
||||
|
||||
dispatch_group_enter(group)
|
||||
dispatch_group_wait(group, DISPATCH_TIME_FOREVER)
|
||||
return purchaseError
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue