ios - 如何在 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;
}
}
}
解决方案
看起来您正在使用我们Cloud SDK
的自托管安装。请注意,上面的代码仅适用于我们Cloud SDK
,不适用于您的自托管解决方案。
请删除此问题,因为它包含您的 API 凭据。
如果您需要进一步的帮助,您可以发送电子邮件至 https://www.cometchat.com/contact-support
(此帐号隶属于CometChat.com)
推荐阅读
- javascript - 在 JS 中的 mediaquery 中移动 id
- javascript - JQuery.when() 不等待函数返回
- python - 如何从 Python 中的多个文件夹中提取文件
- avro - Avro 合约与枚举的兼容性
- c# - Zebra 打印机在 ASP.NET MVC 中打印二维码标签
- javascript - 来自谷歌表格的谷歌图表查询错误
- arduino - 如何通过以太网屏蔽与 Arduino 连接到 loaclhost?
- sql-server - SSRS 2 个小数位使用强制转换、格式等,但总和不正确
- android - Android ION 发布请求失败
- qt - Qt Quick QML 自定义组合框弹出