Hug*_*otl 4 ios nsurlsession swift urlsession swiftystorekit
为什么下面的代码会导致and都URLSession返回?nildataerror
let task = URLSession.shared.dataTask(with: storeRequest as URLRequest) { data, _, error -> Void in
// there is an error
if let networkError = error {
print("There was a network error")
return
}
// there is no data
guard let safeData = data else {
print("No network error, but no data either")
return
}
...
Run Code Online (Sandbox Code Playgroud)
运行此代码时,一名用户拨打了电话No network error, but no data either。
根据苹果公司的文档URLSession.dataTask:
如果请求成功完成,则完成处理程序块的 data 参数包含资源数据,并且 error 参数为零。如果请求失败,则 data 参数为 nil,error 参数包含有关失败的信息。
我把它理解为:要么dataorerror应该总是非零。但这似乎并没有发生在这里。在什么情况下两者都为零?
(如果有帮助的话 - 有问题的 URL 是 iTunes 收据验证 API,网址为https://buy.itunes.apple.com/verifyReceipt,受影响的用户是 Apple 的审阅者,他们通常不愿意协助调试。此代码实际上是 SwiftyStoreKit 的一部分,它会给SwiftyStoreKit.ReceiptError error 1审阅者带来错误- 但不会给其他任何人带来错误。)
| 归档时间: |
|
| 查看次数: |
1686 次 |
| 最近记录: |