【问题标题】:Watch OS 3 NSURLSession issue观看 OS 3 NSURLSession 问题
【发布时间】:2016-11-28 06:08:54
【问题描述】:

我已经实现了 Apple Watch 应用程序可以独立运行,所以所有 Web 服务都是在 Watch 本身中创建的。它似乎在 watch OS 2 中运行良好,但是当在 watch OS 3 中发出请求时,状态码为 401。

流程是: 1. 登录后在 iPhone 中获取详细 Web 服务请求,并将登录详细信息分享给手表应用以在手表操作系统中发起相同的请求。

观看 OS 1 和 2.x - 没有问题 观看 OS 3 - 获取登录请求的成功和获取详细信息服务调用的 401 错误。 请注意:Watch OS 2 & 3 没有代码更改,后端也没有处理会话管理。

任何机构面临同样的问题或任何解决方案? .

【问题讨论】:

    标签: swift2 nsurlsession watch http-status-code-401 watchos-3


    【解决方案1】:

    终于得到了解决方案,在添加了以下几行后它对我有用。

     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)
                    }
    

    我认为 Watch OS2 默认管理 cookie,但 Watch OS3 不管理。所以我们似乎必须手动存储cookie。

    【讨论】:

    • 非常感谢您。我遇到了同样的问题,我不知道为什么它不起作用。这解决了我所有的问题
    • 拯救了我的一天 :)
    • 谁能确认Watch OS 3+的这种情况是否是一个已知的错误?特征?承认 Apple 的新行为?我们应该等待它的更正吗?
    猜你喜欢
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    相关资源
    最近更新 更多