0

J'ai mis en application l'application Apple Watch pour fonctionner indépendamment, donc tous les services Web réalisés dans Watch lui-même. Il semble fonctionner correctement dans la montre OS 2 Mais lorsque la requête est faite dans la montre OS 3 obtenir le code de statut 401.Regarder OS 3 NSURLSession issue

Le flux serait: 1. Faire un login suivi par get detials demande de services web dans l'iPhone et partager login détails pour regarder l'application pour lancer la même demande dans watch os.

Regarder OS 1 & 2.x - Pas de problèmes Regarder OS 3 - Obtenir un succès pour la demande de connexion et 401 erreur pour obtenir l'appel de service de détails. S'il vous plaît Note: Il n'y a pas de changement de code fait pour Watch OS 2 & 3, aussi il n'y a pas de gestion de session gérée dans le backend.

Tout organisme confronté aux mêmes problèmes ou à une solution pour cela? .

Répondre

2

Enfin obtenu la solution, après avoir ajouté les lignes ci-dessous cela a fonctionné pour moi.

if let httpResponse = response as? HTTPURLResponse, let fields = httpResponse.allHeaderFields as? [String : String] { 
        let cookies = HTTPCookie.cookies(withResponseHeaderFields: fields, for: response!.url!) 
        HTTPCookieStorage.shared.setCookies(cookies, for: response!.url!, mainDocumentURL: nil) 
       } 

Je suppose que Watch OS2 gère par défaut les cookies, mais pas Watch OS3. Nous devons donc stocker manuellement les cookies, semble-t-il.

+0

Merci beaucoup pour cela. J'avais exactement le même problème et je n'arrivais pas à comprendre pourquoi ça ne marcherait pas. Cela résout tous mes problèmes –

+0

sauvé ma journée :) –