主要问题:
为什么 func请求(_ request:SKRequest,didFailWithError错误:错误) 永远不会被调用?
临时解决方案:
首先。我知道我可以理解它无法计算 response.products.count 并且比较为零。但我希望得到确切的错误代码,而不仅仅是“失败事件”,没有代码和人类可读的描述。
描述:
我正在使用这样的来加载购买清单:
let request = SKProductsRequest(productIdentifiers:Set(/*init the Set with strings*/))
self.productsRequest = request
request.delegate = self
request.start()
此外,我已经实施了3种方法 SKProductsRequestDelegate
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
func requestDidFinish(_ request: SKRequest) {
func request(_ request: SKRequest, didFailWithError error: Error) {
即使WiFi已关闭,前两个也会被调用。
但最后一个永远不会被召唤。
有关详细信息: SKRequestDelegate ,其基本协议 SKRequestDelegate 声明
public protocol SKProductsRequestDelegate : SKRequestDelegate {
// Sent immediately before -requestDidFinish:
@available(OSX 10.7, *)
public func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse)
}
public protocol SKRequestDelegate : NSObjectProtocol {
@available(OSX 10.7, *)
optional public func requestDidFinish(_ request: SKRequest)
@available(OSX 10.7, *)
optional public func request(_ request: SKRequest, didFailWithError error: Error)
}
P上。 S上。
我曾试图谷歌,但我发现只有像SKProductsRequest delegate methods are never called这样的问题。但它不是我的。