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

时间:2018-08-20 11:54:53

标签: ios swift swift3 cometchat

  

initWithAPIKey异常:无效的API密钥格式'

我从Github下载了一个项目:https://github.com/CometChat/ios-swift-chat-sdk-demo

然后我像在CometChat帐户中一样更改了API密钥和LicenseKey。 我遇到了这个未捕获的异常,当我运行我的项目时,它运行良好,当我按下 INITIALIZE CHAT (初始化聊天)按钮时,它显示了此异常。我不明白为什么会来,我的Api密钥和许可证有效

我的代码:

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 = "COMETCHAT-XXXX-XXXX-XXXX-XXXX"  // Replace this value with your CometChat License Key
var apiKey : String = "xxxxxxxxxxxxxxxxxxxxxx" // Replace the value with your CometChat Api Key;
var UID1 : String = "SUPERHERO1"
var UID2 : String = "SUPERHERO2"
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("", 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 :(得分:-1)

代码中的所有内容看起来都很不错。可能您的pods文件有问题。请确保您的Pod文件中存在以下内容-

pod 'MessageSDKFramework','~> 7.9.0'
pod 'cometchat-ui','~> 7.9.0'
pod ‘Firebase/Auth’,'~> 4.8.2'
pod ‘Firebase/Database’,'~> 4.8.2'

如果仍然遇到问题,则可以创建支持凭单:https://www.cometchat.com/contact-support

(此帐户与CometChat.com关联)