Lorsque j'essaie de faire une demande réseau, je reçois une erreur
finished with error [-999] Error Domain=NSURLErrorDomain Code=-999 "cancelled"
Si j'utilise URLSession.shared.dataTask
au lieu de URLSession.shared.dataTaskPublisher
cela fonctionnera sur IOS 13.3.
Voici mon code:
return URLSession.shared.dataTaskPublisher(for : request).map{ a in
return a.data
}
.decode(type: MyResponse.self, decoder: JSONDecoder())
.receive(on: DispatchQueue.main)
.eraseToAnyPublisher()
Ce code a fonctionné sur IOS 13.2.3.
J'avais besoin de déplacer mon ensemble annulable "au-dessus" de la portée de la fonction où mon abonné s'exécutait. Cela a bien fonctionné dans iOS 13.2 lorsque l'ensemble annulable avait la même portée que la fonction de l'abonné, mais cesse de fonctionner dans 13.3. Le dataTaskPublisher s'annule avec l'erreur indiquée ci-dessus. Il est logique que l'ensemble annulable "s'éteigne" de l'abonné. Erreur de développeur. Leçon apprise.