web-dev-qa-db-fra.com

URLSession.shared.dataTaskPublisher ne fonctionne pas sur IOS 13.3

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.

3
Расул A-ев

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.

0
user1195358