OAuthSwift с Dexcom API: ошибка получения выходных кадров, состояние 8196 - PullRequest
1 голос
/ 11 марта 2019

У меня проблемы с использованием OAuthSwift с API Dexcom (https://developer.dexcom.com/authentication) для получения токена и последующего запроса.

Вот код, который я сейчас использую для авторизации пользователя с помощью сервиса, нажав кнопку, которая ссылается на вход и перенаправляет обратно.

import UIKit
import OAuthSwift

class ViewController: UIViewController {

// UI Elements
@IBOutlet weak var resultLabel: UILabel!
@IBAction func authorizeTapped(_ sender: Any) {
    authorizeDexcom()
}

var oauthswift: OAuth2Swift = OAuth2Swift(
    consumerKey: "***",
    consumerSecret: "***",
    authorizeUrl: "https://sandbox-api.dexcom.com/v2/oauth2/login?",
    accessTokenUrl: "https://sandbox-api.dexcom.com/v2/oauth2/token",
    responseType: "code"
)

// Dexcom Test Functions
func authorizeDexcom() {

    oauthswift.allowMissingStateCheck = true
    oauthswift.authorizeURLHandler = SafariURLHandler(viewController: self, oauthSwift: oauthswift)

    guard let rdURI = URL(string: "***") else {
        return
    }

    oauthswift.authorize(withCallbackURL: rdURI,
                         scope: "offline_access",
                         state: "",
                         success: { credential, response, parameters in
                            print("SUCCESS")
                            print(credential.oauthToken)

                         }, failure: { error in
                            print(error.localizedDescription)
                         }
    )
}

Может кто-нибудь направить меня к тому, каким должен быть мой следующий шаг или как я должен делать запросы здесь? Когда я запускаю свое приложение и нажимаю на кнопку, которая вызывает функцию авторизации, я получаю то, что, как кажется, выводится на консоль токеном, но сопровождается несколькими строками «получить выходные кадры не удалось, состояние 8196», что приводит меня к считаю, что процесс авторизации не заканчивается правильно.

Я просмотрел следующие ресурсы, но пока не нашел ничего полезного.

Спасибо за любую помощь.

1 Ответ

1 голос
/ 11 апреля 2019

iOS 12+ имеет болтливый сетевой вход в систему.Ваши сетевые вызовы не прерываются.

[BoringSSL] nw_protocol_boringssl_get_output_frames (1301) ... получить выходные кадры не удалось, состояние 8196

Это выводится каждый раз, когда URLSession являетсябыть очищенным, или если вы явно вызываете finishTasksAndInvalidate ().

Из того, что я могу сказать, нет способа подавить его, не подавляя все журналы ОС, что является плохой идеей.Если кто-нибудь знает, как конкретно скрыть это сообщение, ответьте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...