Я пытаюсь использовать библиотеку OAuthSwift, чтобы получить токен авторизации для пользователя, входящего в систему со своей учетной записью Twitch. Я использую пример кода, но я думаю, что есть проблема со Swift 5. Я использую XCode версии 10.3 (10G8):
// create an instance and retain it
oauthswift = OAuth2Swift(
consumerKey: "***",
consumerSecret: "***",
authorizeUrl: "https://id.twitch.tv/oauth2/validate",
responseType: "code"
)
oauthswift.accessTokenBasicAuthentification = true
//let codeVerifier = base64url("abcd...")
//let codeChallenge = codeChallenge(for: codeVerifier)
let handle = oauthswift.authorize(
withCallbackURL: URL(string: "localhost")!,
scope: "", state:"TWITCH") { result in
switch result {
case .success(let (credential, response, parameters)):
print(credential.oauthToken)
// Do your request
case .failure(let error):
print(error.localizedDescription)
}
}
}
Я получил ошибку в строке oauthswift.accessTokenBasicAuthentification = true
:
Value of type 'OAuthSwift?' has no member 'accessTokenBasicAuthentification'
И тогда я получаю сообщение об ошибке в строке let handle =
:
Value of type 'OAuthSwift?' has no member 'authorize'
Любая помощь будет принята с благодарностью.
Спасибо!
РЕДАКТИРОВАТЬ: Может быть проблема с Cocoapods. Я не могу сделать pod 'OAuthSwift', '~> 2.0.0', says it can't find that version. Just installing using pod 'OAuthSwift'
без номера версии, просто устанавливает v1.3.0
РЕДАКТИРОВАТЬ 2:
Понял! Благодаря Кириллу я смог обновить библиотеку до v2 (я использовал pod install вместо pod update). Затем, когда библиотека обновилась, мне пришлось добавить инициализатор let
. Обновленный код:
// create an instance and retain it
let oauthswift = OAuth2Swift(
consumerKey: "***",
consumerSecret: "***",
authorizeUrl: "https://id.twitch.tv/oauth2/validate",
responseType: "code"
)
self.oauthswift = oauthswift
oauthswift.accessTokenBasicAuthentification = true