Я пытаюсь что-то написать в своем приложении. Но я получаю сообщение об ошибке, если я покидаю свое приложение, чтобы открыть oAuth-процесс Twitter. Я могу авторизовать свое приложение через Twitter и открыть свое приложение после этой авторизации, но withCallbackURL не вызывается. Надеюсь, кто-нибудь может мне помочь
Я получаю эту ошибку:
Can't end BackgroundTask: no background task exists with identifier 2 (0x2), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.
Я использую библиотеку OAuthSwift .
Я добавил это в AppDelegateкласс:
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
guard let url = URLContexts.first?.url else {
return
}
if (url.host == "howDoYouFeel://") {
OAuthSwift.handle(url: url)
}
}
И это для моего ViewController:
var oauthswift: OAuth1Swift!
var handle: OAuthSwiftRequestHandle!
var newOAuthToken: String!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
view.backgroundColor = .white
oauthswift = OAuth1Swift(
consumerKey: "123",
consumerSecret: "456",
requestTokenUrl: "https://api.twitter.com/oauth/request_token",
authorizeUrl: "https://api.twitter.com/oauth/authorize",
accessTokenUrl: "https://api.twitter.com/oauth/access_token"
)
// authorize
handle = oauthswift.authorize(
withCallbackURL: URL(string: "howDoYouFeel://")!) { result in
print("result \(result)")
switch result {
case .success(let (credential, response, parameters)):
print("success")
print(credential.oauthToken)
print(credential.oauthTokenSecret)
print(parameters["user_id"])
// Do your request
case .failure(let error):
print("error")
print(error.localizedDescription)
}
}
}