首页 > 解决方案 > 如何在 iOS 中实现彗星聊天时修复“无效的 API 密钥格式”

问题描述

问题是,当我要初始化它们时,comet-chat它们会产生错误,例如-

“由于未捕获的异常‘NSInvalidArgumentException’而终止应用程序,原因:‘initWithAPIKey 异常:无效的 API 密钥格式’”

我努力了

step.1我已经安装了以下所有 pod

 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.然后是我的 viewcontroller 的代码(我要初始化第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;
        }
    }

}

标签: iosswiftcometchat

解决方案


看起来您正在使用我们Cloud SDK的自托管安装。请注意,上面的代码仅适用于我们Cloud SDK,不适用于您的自托管解决方案。

请删除此问题,因为它包含您的 API 凭据。

如果您需要进一步的帮助,您可以发送电子邮件至 https://www.cometchat.com/contact-support

(此帐号隶属于CometChat.com


推荐阅读