swift_IM的坑

最近項目需求,然后就要接im景埃,因為項目是swfit的媒至,然后很多坑都要自己踩,自己填谷徙,然后就遇到很多坑拒啰,然后看了好幾家的im,就先討論一下im的坑完慧,有騰訊谋旦,阿里,融云,然后順便看了leanclound的文檔册着,

先說一下im的大致流程拴孤,一般都是初始化sdk,然后注冊指蚜,登錄乞巧,監(jiān)聽會話,收發(fā)消息摊鸡,退出登錄
然后這我只接了前三家绽媒,這里面最難接的是騰訊的,文檔也看的頭疼免猾,最好接的是融云是辕,就幾句代碼就搞定了,阿里百川的文檔感覺就是純粹是為了寫文檔而寫的文檔猎提,感覺就只有個簡化版的文檔获三,
現(xiàn)在就先說說騰訊,騰訊真的是接的頭大锨苏,坑很多疙教,而且官方的demo也寫的很亂,他們的框架有登錄注冊的一體化界面伞租,但是沒有會話列表和會話界面贞谓,所以如果要寫的話就要自己監(jiān)聽會話,解析會話列表葵诈,解析會話裸弦,也有可能是因為我們項目是swift的,所以也用不了他的demo上的代碼作喘。oc的項目可能會好接一點理疙,但是對于swift的來說,真的是很難接的泞坦,
然后我接的第二個是融云的窖贤,很方便,對于swift的來說贰锁,下面是我寫的融云的demo視圖控制器里面的代碼

import UIKit


 var strMsg:String = ""


class ViewController: RCConversationListViewController{
   
 
    override func viewDidLoad() {
        super.viewDidLoad()
        initSdk()
        loginRCIM()
        self.setDisplayConversationTypes([RCConversationType.ConversationType_PRIVATE.rawValue, RCConversationType.ConversationType_GROUP.rawValue,RCConversationType.ConversationType_DISCUSSION.rawValue])
        
        
        
        // Do any additional setup after loading the view, typically from a nib.
    }
    func initSdk(){
         RCIM.shared().initWithAppKey("你自己的appkey")
    }
    func loginRCIM(){
        //v0tbKdy6d56FLTz70/NuUv83QwmF6X8F1GOlJSqqcbOwmWMGcNoJFZQM4zwOUo4Hb6OachOiHkXSKwII6Z3pxA==
        RCIM.shared().connect(withToken: "(這個token是調(diào)用融云的后臺服務(wù)器利用userid主之,username,用戶頭像李根,生成的token槽奕,如果是自己用的話,可以調(diào)自己的后臺訪問融云房轿,然后返回到前端)", success: { (userId) in
            print("\(userId!)")
        }, error: { (err_code) in
            print("\(err_code)")
        }) {
            print("token wrong")
        }
    }
    
    override func onSelectedTableRow(_ conversationModelType: RCConversationModelType, conversationModel model: RCConversationModel!, at indexPath: IndexPath!) {
        let conversationVC = RCConversationViewController()
        conversationVC.conversationType = model.conversationType
        conversationVC.targetId = model.targetId
        conversationVC.title = "message"
        self.navigationController?.pushViewController(conversationVC, animated: true)
    }
    
    
    
}

這里就要說生成會話列表之后的點擊事件粤攒,因為會話列表的父類都是tableview所森,然后騰訊和融云都是直接把點擊的那個didselectrowat這個方法暴露或者可以重寫的,你要添加點擊事件或者生成會話界面就直接在這里面實現(xiàn)就可以了夯接,融云的坑還好吧焕济,我用swift接的時候,沒咋發(fā)現(xiàn)有什么坑盔几,

然后要說最好一個阿里百川的了晴弃,我接的時候有兩個問題,一個是會話列表不出來逊拍,一個是點擊了之后沒反應(yīng)上鞠,阿里百川的接入方式和融云,騰訊都不一樣芯丧,然后和leanclound是差不多的芍阎,然后阿里的那個技術(shù)論壇基本是沒人的,然后后面老大吧我拉了一個釘釘?shù)娜汉退麄兡沁叺娜私涣饔Ш悖蝗f項目是swift的谴咸,那邊找了個技術(shù)人員是不懂swift的,然后問了一些問題基本都沒解決的骗露,后來還是在靠的我自己解決的岭佳,先說會話列表的問題,最開始的時候萧锉,我的會話界面是用的viewcontroller自己的導(dǎo)航控制區(qū)push的珊随,然后沒東西出來,也不知道什么問題驹暑,然后后面我用present方式,然后就出來了辨赐。第二個問題是點擊的优俘,就這個東西卡了我2天吧,周五到周一掀序,周末沒想過這些問題帆焕,阿里的tableview的點擊事件沒有暴露出來,然后我也不能重寫不恭,是通過block的方式實現(xiàn)的叶雹,我這邊要實現(xiàn)點擊就只能給這個block賦值,我之前賦值的時候是塊不對换吧,swift的閉包和oc有區(qū)別折晦,swift自己能識別類型,在傳值的時候就不用定義類型沾瓦,然后里面塊寫完之后也不用as满着!轉(zhuǎn)成他的YWConversationsListDidSelectItemBlock谦炒,我之前是寫了轉(zhuǎn)換,所以里面的代碼跑不了风喇,然后這是一個宁改,還有一個坑是,阿里的界面都是基于uinavigationcontroller進(jìn)行跳轉(zhuǎn)的魂莫,我之前是這么跳轉(zhuǎn)的还蹲,然后就開始崩潰,說我的一個array里面的值是nil耙考,我在想哪里有array谜喊?

  SPKitExample.sharedInstance().exampleOpenConversationViewController(with: aConversation, from: nil)

然后我后面看控制器的崩潰代碼里面說了一個導(dǎo)航欄控制器的那個array里面沒東西,所以跳轉(zhuǎn)的時候他就找不到東西琳骡,后面我就機(jī)制的自己定義了一個導(dǎo)航欄控制器锅论,然后在那個控制器里面添加會話列表界面,然后跳轉(zhuǎn)的時候后面的from就寫成self了楣号,然后就解決了困惑我兩天的東西最易,基本就這些吧,demo寫的太粗糙就不上傳了炫狱,有什么問題的話聯(lián)系我就可以了藻懒,我們一起填坑

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市视译,隨后出現(xiàn)的幾起案子嬉荆,更是在濱河造成了極大的恐慌,老刑警劉巖酷含,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鄙早,死亡現(xiàn)場離奇詭異,居然都是意外死亡椅亚,警方通過查閱死者的電腦和手機(jī)限番,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呀舔,“玉大人弥虐,你說我怎么就攤上這事∶睦担” “怎么了霜瘪?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惧磺。 經(jīng)常有香客問我颖对,道長,這世上最難降的妖魔是什么磨隘? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任惜互,我火速辦了婚禮布讹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘训堆。我一直安慰自己描验,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布坑鱼。 她就那樣靜靜地躺著膘流,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鲁沥。 梳的紋絲不亂的頭發(fā)上呼股,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機(jī)與錄音画恰,去河邊找鬼彭谁。 笑死,一個胖子當(dāng)著我的面吹牛允扇,可吹牛的內(nèi)容都是我干的缠局。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼考润,長吁一口氣:“原來是場噩夢啊……” “哼狭园!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起糊治,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤唱矛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后井辜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绎谦,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年粥脚,在試婚紗的時候發(fā)現(xiàn)自己被綠了窃肠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡阿逃,死狀恐怖铭拧,靈堂內(nèi)的尸體忽然破棺而出赃蛛,到底是詐尸還是另有隱情恃锉,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布呕臂,位于F島的核電站破托,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏歧蒋。R本人自食惡果不足惜土砂,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一州既、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧萝映,春花似錦吴叶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至奥秆,卻和暖如春逊彭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背构订。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工侮叮, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人悼瘾。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓囊榜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親分尸。 傳聞我的和親對象是個殘疾皇子锦聊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件箩绍、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,103評論 4 62
  • “也許你踽踽獨行無枝可依/也許天地?zé)o光風(fēng)長路也遠(yuǎn)/也許生死枯榮盛衰和歡興/我不等風(fēng)等你” part0 笨笨和呆呆去...
    景甜醬閱讀 412評論 0 4
  • 至從開始體驗極簡一天,最近每周都安排一天讓自己空著手去上班卑吭。在這個過程中也一直想著如何才能持續(xù)輕松上班芽淡,又不給工作...
    袁麟翥閱讀 392評論 0 1
  • 這一陣子經(jīng)常下雨,明明是秋天,卻一點都不天高氣爽源请」说桑空氣因為雨水而變得更加清冷,冬天似乎快要來了白胀。 摩魯佳正...
    神寵閱讀 322評論 0 0
  • ——聽同名歌曲《狐荼》有感而發(fā) 荒原中星星之火燃起,聚于一處抚岗,火球驟現(xiàn)或杠。濃黑、墨綠化為火紅宣蔚;焦炭...
    魚樹_閱讀 615評論 0 1