无法获取SKProductsRequest的错误说明/代码

时间:2017-04-03 07:10:59

标签: swift macos error-handling in-app-purchase macos-sierra

主要问题

为什么 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这样的问题。但它不是我的。

0 个答案:

没有答案