it-swarm.com.de

swift4: Rückruf-URL für diese Clientanwendung nicht genehmigt

ich verwende Swift4: Ich möchte mich mit Twitter bei der App anmelden, aber wenn ich auf Login mit Twitter-Button drücke, habe ich folgende Fehlermeldung erhalten: 

Rückruf-URL für diese Clientanwendung nicht genehmigt. Genehmigte Callback-URLs können in Ihren Anwendungseinstellungen angepasst werden. "UserInfo = {NSLocalizedDescription = Callback-URL ist für diese Clientanwendung nicht genehmigt. Genehmigte Callback-URLs können in den Anwendungseinstellungen angepasst werden ) ")

ich habe dieser Dokumentation gefolgt und habe alle plist-Variablen und App-Delegierten gesetzt Dies ist mein Code auf der Login-Seite: 

@IBAction func loginWithTwitter(_ sender: Any) {

    TWTRTwitter.sharedInstance().logIn(completion: {
        (session, error) in
        if let sess = session {
            print("session: ",sess.authToken, sess.authTokenSecret, sess.userID, sess.userName)
            self.loginWithTwitter(Twitter_id: sess.userID, name: sess.userName)
        } else {
            print("error: ", error?.localizedDescription as Any)
        }
    })
}

func loginWithTwitter(Twitter_id: String, name: String) {
    self.deviceMac = UIDevice.current.identifierForVendor!.uuidString
    KRProgressHUD.show(withMessage: "انتظر ....")
    API.loginWithTwitter(mac:self.deviceMac, Twitter_id: Twitter_id, name: name, token: self.token) { (error: Error?, success: Bool, value: Any) in
        if success {
            KRProgressHUD.dismiss()
            let json = JSON(value)
            print(json)
            if(json["token"] != "") {
                let token = json["token"].string
                let def = UserDefaults.standard
                def.set(token, forKey: "token")
                def.synchronize()

                Common.setIfTwitterLogin(login: token!)
                let homeViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController

                self.present(homeViewController, animated: false, completion: nil)
            } else {
                self.errorLable.text = "عذرا لقد حدث خطأ حاول مره أخري"
            }
        } else {
            KRProgressHUD.dismiss()
            self.errorLable.text = "عذرا لقد حدث خطأ حاول مره أخري"
            if Connectivity.isConnectedToNetwork(){
                print("Internet Connection Available!")
            }else{
                Common.showToast(messsage: "الرجاء التحقق من إتصالك بالإنترنت", view: self.view)
            }
        }
    }
}

und 

class func loginWithTwitter(mac:String, Twitter_id: String, name: String, token: String, completion: @escaping (_ error: Error?, _ success: Bool,_ value: Any) -> Void) {

    let loginURL = URLs.loginWithTwitter

    let loginParameters = [
        "mac": mac,
        "Twitter_id": Twitter_id,
        "token": token,
        "name": name]

    print(loginURL, loginParameters)
    Alamofire.request(loginURL, method: .post, parameters: loginParameters, encoding: URLEncoding.default, headers: nil)
        .responseJSON { reponse in
            switch reponse.result {
            case .failure(let error):
                print("error: ", error)
                completion(error, false, "")
            case .success(let value):
                completion(nil, true, value)
            }
    }
}

ich habe eine Rückruf-URL in der Twitter-Entwickler-App festgelegt. Weiß jemand, was das Problem ist?

7
Al-shimaa Adel

In Ihrem Twitter-Dashboard Gehen Sie zu: https://apps.Twitter.com Gehen Sie zur Registerkarte "Einstellungen" und fügen Sie die folgende Callback-URL hinzu.

twitterkit-<consumerKey>://

twitterkit-4bvXXXXXXNFfOXXwrXXXXXXmT: //

10
Shahrukh

Twitter Dev hat die Regeln aktualisiert. Sie können Ihre Entwickler-Website öffnen, die Einstellung für Callback-URLs finden und diese hinzufügen:

Für Android
twittersdk: //

Beziehen Sie sich für iOS auf 
https://stackoverflow.com/a/50850233/5740236
https://stackoverflow.com/a/50662575/5740236

und es wird Arbeit sein, Ihr Problem lösen wollen

0
Moore

Fügen Sie twittersdk: // als eine Rückruf-URL in Ihrer Twitter-App-Einstellung https://apps.Twitter.com/ hinzu und probieren Sie es aus. Das hat bei mir funktioniert.

0
MRizwan33