Как исправить «неверный формат ключа API» при внедрении комет-чата в iOS - PullRequest
0 голосов
/ 28 августа 2018

Проблема в том, что когда я собираюсь инициализировать comet-chat, они генерируют ошибку вроде -

«Завершение работы приложения из-за необработанного исключения« NSInvalidArgumentException », причина:« Исключение initWithAPIKey: неверный формат ключа API » «

Я пытался

step.1 У меня установлено все нижеуказанные модули

 Firebase (4.8.2)
 FirebaseAnalytics (4.0.9)
 FirebaseAuth (4.4.2)
 FirebaseCore (4.0.14)
 FirebaseDatabase (4.1.4)
 FirebaseInstanceID (2.0.10)
 GTMSessionFetcher (1.1.15)
 GoogleToolboxForMac (2.1.4)
 MessageSDKFramework (7.0.23)
 cometchat-ui (7.0.23)
 leveldb-library (1.20)
 nanopb (0.3.8)

шаг 2. Затем код моего view-контроллера (я собираюсь сначала инициализировать comet-chat)

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var btnInitializeChat: UIButton!
    @IBOutlet weak var btnLoginSuperHero1: UIButton!
    @IBOutlet weak var btnLoginSuperHero2: UIButton!
    @IBOutlet weak var btnLaunchChat: UIButton!
    @IBOutlet weak var pbLoading: UIView!
    var licenseKey : String = "XXXX-XXXX-XXXX-XXXX-XXXXX"  // Replace this value with your CometChat License Key
    var apiKey : String = "xxxxxxxxxxxxxxxxx" // Replace the value with your CometChat Api Key;
    var UID1 : String = "xxxxxx"
    var UID2 : String = "yyyyyy"
    var isCometOnDemand: Bool = true; // For CometChat Cloud Users, Please set this to true

    var cometChat: CometChat = CometChat();
    var readyUI: readyUIFIle = readyUIFIle();


    override func viewDidLoad() {
        super.viewDidLoad()

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

    }

    override func viewWillAppear(_ animated: Bool) {
    }

    @IBAction func initializeChat() -> Void {
        self.showLoading(show:true);
        cometChat.initializeCometChat("http://www.gamegods.com", licenseKey:licenseKey, apikey:apiKey, isCometOnDemand:isCometOnDemand, success: {(response) in
            print(" successfully initailized")
            self.btnLoginSuperHero1.isEnabled = true;
            self.btnLoginSuperHero2.isEnabled = true;
            self.showLoading(show:false);
        },failure:{(error) in
            print(" Failed to initialized ")
            self.showLoading(show:false);
        });
    }


    @IBAction func loginWithSuperHero1() -> Void {
        self.showLoading(show:true);
        cometChat.login(withUID:UID1,success:{(response) in
            print(" Successful login ")
            self.btnLaunchChat.isEnabled = true;
            self.showLoading(show:false);
        },failure:{(error) in
            print(" Failed login ")
            self.showLoading(show:false);
        });
    }

    @IBAction func loginWithSuperHero2() -> Void {
        self.showLoading(show:true);
        cometChat.login(withUID:UID2,success:{(response) in
            print(" Successful login ")
             self.btnLaunchChat.isEnabled = true;
            self.showLoading(show:false);
        },failure:{(error) in
            print(" Failed login ")
            self.showLoading(show:false);
        });
    }

    @IBAction func launchChat() -> Void {
        let isFullScreen : Bool = true;
        self.showLoading(show:true);
        readyUI.launchCometChat(isFullScreen, observer: self, userInfo: { (response) in
            print("Launch ReadyUI Successfull  ")
            self.showLoading(show:false);
        }, groupInfo: { (response) in

        }, onMessageReceive: { (response) in

        }, success: { (response) in

        }, failure: { (error) in
            print(" Failed ReadyUI lauch ")
            self.showLoading(show:false);
        }, onLogout: { (response) in
            print(" Logout ")
        })

    }

    func showLoading(show:Bool) -> Void {
        if(show){
            pbLoading.isHidden = false;
        }else{
            pbLoading.isHidden = true;
        }
    }

}

1 Ответ

0 голосов
/ 30 августа 2018

Похоже, вы используете наш Cloud SDK с самостоятельной установкой. Обратите внимание, что приведенный выше код предназначен только для нашего Cloud SDK и не будет работать с вашим самостоятельным решением.

Пожалуйста, удалите этот вопрос, поскольку он включает ваши учетные данные API.

Если вам нужна дополнительная помощь, вы можете написать https://www.cometchat.com/contact-support

(Этот аккаунт связан с CometChat.com )

...