Хотя все отлично работает на реальных устройствах, мне интересно, почему делегат никогда не перезванивает на симуляторе iOS 13 beta 5?
Я поискал в Интернете ответ, но ничего не нашел.
Я реализовал 3 функции для протокола следующим образом:
public class StoreKit {
var request: SKProductsRequest? = nil // Keep a strong reference
public func fetchProducts() {
print("\(#function): start fetching products")
let r = SKProductsRequest(productIdentifiers: productIDs)
request = r
r.delegate = self
r.start()
}
}
// MARK: - Get the requested products
extension StoreKit: SKProductsRequestDelegate {
/// Products are received
public func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
print("\(#function): did receive")
}
/// Unable to received the products
public func request(_ request: SKRequest, didFailWithError error: Error) {
print("\(#function): Error for request: \(error.localizedDescription)")
}
public func requestDidFinish(_ request: SKRequest) {
print("\(#function): did finish")
}
}