環信集成到項目:遇到問題以及解決方案


將環信的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"]];


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM