Support for async/await APIs
Are there any plans to support the async/await APIs in the near future?
Thanks!
Hi @rudrankriyam Support of Swift async/await API is definitely in our plan, but I can’t provide you with an estimation time at this moment. Considering that it is available just with iOS15 and there are not many teams with min deployment target = iOS 15, we decided to focus on more valuable features. There is a chance that Apple will add Swift async/await API to iOS13 (you can find more information about it here). If it happens, we will add async/await API support to our top-priority list. I’ll let you know!
@suriksarkisyan Just want to update you that they have added support for iOS 13+. It is available with Xcode beta 13.2, and hopefully, 13.2 should be released soon!

Hi @rudrankriyam Sorry for the late reply 🙁 As I said, we will add this feature to our top-priority list. But I still can't give you an estimate, let's keep in touch 🤝
Hi @suriksarkisyan!
I read this proposal on Concurrency Interoperability with Objective-C, and it has been implemented in Swift 5.5.
So, I don't think you require to add support for it?
I can use it like:
if #available(iOS 13, *) {
let (result, canceled) = try await Qonversion.purchaseProduct(product)
let permissions = try await Qonversion.restore()
let offerings = try await Qonversion.offerings()
}
And so on.
I plan to use them in my app this weekend and let you know how it goes!
Hi @rudrankriyam Looks awesome. I'll wait for your feedback about that 🤝
Hi @suriksarkisyan ,
I found out that the function purchase throws an error if the user has cancelled the payment flow.
let (entitlements, isCancelled) = try await qonversion.purchase(product.identifier)
However, I would expect that if the user cancelled the payment, that the function would not throw an error since this would be stored in the isCancelled property of the tuple.
Do you plan to change this behavior or should I make a custom implementation?
Thanks!