ネットワークリクエストを実行しようとすると、エラーが発生する
finished with error [-999] Error Domain=NSURLErrorDomain Code=-999 "cancelled"
URLSession.shared.dataTask
の代わりにURLSession.shared.dataTaskPublisher
を使用すると、IOS 13.3。
これが私のコードです:
return URLSession.shared.dataTaskPublisher(for : request).map{ a in
return a.data
}
.decode(type: MyResponse.self, decoder: JSONDecoder())
.receive(on: DispatchQueue.main)
.eraseToAnyPublisher()
このコードはIOS 13.2.3。
キャンセル可能なセットを、サブスクライバーが実行している関数のスコープの "上"に移動する必要がありました。これは、キャンセル可能なセットがサブスクライバーの機能と同じスコープを持っているiOS 13.2では正常に機能しましたが、13.3では機能しなくなりました。 dataTaskPublisherは、上記のエラーでキャンセルされます。キャンセル可能なセットは、サブスクライバーを "ライブ"にする必要があります。開発者エラー。学んだ教訓。