將環信的SDK和UI導入到項目中,編譯以及運行正常,遇到的問題時在代碼中引用遇到的問題
1.在AppDelegate中執行
[EaseMob sharedInstance]崩潰
解決方案:other link flags添加“-ObjC”選項(注意:O和C大寫)
2.消息提示的小紅點問題。在
UITabBarController的子類中
設置了
IChatManagerDelegate,但是
setupUnreadMessageCount不回
原因:在AppDelegate中沒有寫
- (void)applicationWillResignActive:(UIApplication *)application {
[[EaseMob sharedInstance] applicationWillResignActive:application];
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
[[EaseMob sharedInstance] applicationDidEnterBackground:application];
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
[[EaseMob sharedInstance] applicationWillEnterForeground:application];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[[EaseMob sharedInstance] applicationDidBecomeActive:application];
}
- (void)applicationWillTerminate:(UIApplication *)application {
[[EaseMob sharedInstance] applicationWillTerminate:application];
}
將以上幾個方法在AppDelegate中寫上后,就能正常回調
問題二:往環信后台設置證書后,同時在代碼里將證書名稱設置一致,但是還是收不到推送消息,並有如下錯誤信息:
解決方案,在配置文件里,將Background Modes打開,勾選“Remote notifications”,后就能正常收到推送消息
問題三:
用戶登錄后,第一次登陸獲取不到聊天記錄(在本地已有聊天記錄數據庫的前提下),以后能獲取到
[[EaseMob sharedInstance].chatManager setIsAutoLoginEnabled:YES];
[[EaseMob sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];//該行代碼一定要放在setIsAutoLoginEnabled,否則會造成加載不到聊天記錄的bug
問題四:
點開聊天界面,不聊天時,聊天列表也會有該條聊天記錄,也就是說,空記錄也會加入到聊天列表中
解決方案:
[[EaseMob sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
[MagicalRecord setupCoreDataStackWithStoreNamed:[NSString stringWithFormat:@"%@.sqlite", @"YRCoreData"]];