關(guān)于網(wǎng)易云信更新的疑難雜癥及對(duì)策

問題情景:
我們有個(gè)老項(xiàng)目,云信的推送不管用了。經(jīng)過測(cè)試,是云信的SDK版本太老了導(dǎo)致的?,F(xiàn)在需要更新這個(gè)SDK。
但當(dāng)時(shí)Podfile中存在問題,我不能直接依靠cocoapods更新。(這情況有點(diǎn)繞)

當(dāng)初集成的時(shí)候,pod的代碼片段是這樣的

pod 'NIMSDK','5.6.0'
pod 'M80AttributedLabel'
pod 'CocoaLumberjack'
pod 'FMDB'
pod 'SSZipArchive'

對(duì)應(yīng)的NIMSDK內(nèi)容


WeChate252e63be3f80e842ecc5a497545fb13.png

其他的UI代碼都是直接拖入項(xiàng)目中的。

所以我遇到了幾個(gè)坎。

1、官方文檔受挫(我沒get到關(guān)鍵點(diǎn))。

我首先去找了官方文檔,里面介紹了 'NIMSDK_LITE' 和 ' NIMKit '
SDK開發(fā)集成
而未正確的找到該地址,這里面才是完整的'NIMSDK'
SDK開發(fā)集成
下面我介紹下
'NIMSDK_LITE' 、' NIMKit ' 、 ' NIMKit /Lite' 、'NIMSDK' 、'NIMKit/Full'
這幾個(gè)庫(kù)的區(qū)別和關(guān)系

'NIMSDK_LITE' 是' NIMKit ' 對(duì)應(yīng)的SDK包,' NIMKit ' = 'NIMSDK_LITE' + UI界面+其他第三方依賴庫(kù)。特性是只包含NIMSDK、沒有音視頻模塊。
' NIMKit /Lite' 就是' NIMKit ',兩者沒差別

'NIMSDK' 是' NIMKit ' 對(duì)應(yīng)的SDK包,' NIMKit ' = 'NIMSDK' + UI界面+其他第三方依賴庫(kù)。特性是包含了NIMSDK和NIMAVChat,包含了即時(shí)通訊模塊和音視頻模塊,是完整版本的網(wǎng)易云信。

2、framework文件關(guān)聯(lián)變化

項(xiàng)目舊的NIMAVChat文件夾中內(nèi)容為


舊的NIMAVChat內(nèi)容.png

而新的NIMAVChat文件夾中內(nèi)容為


新的NIMAVChat內(nèi)容.png

直接替換的話會(huì)因?yàn)槿鄙貼MC、NMCBasicModuleFramework而發(fā)生報(bào)錯(cuò)
所以要把這個(gè)Framework加入項(xiàng)目中。

Targets->Build Phases->Copy Files,把需要的framework加入其中,編譯。
如果報(bào) was built for iOS + iOS Simulator. 這種錯(cuò)誤,就去Build Settings中找Validate Workspace,改為YES
如果編譯時(shí)代碼出現(xiàn)錯(cuò)誤,那么就去對(duì)應(yīng)類中進(jìn)行調(diào)整。常見的的應(yīng)為SDK更新某些接口參數(shù)等發(fā)生了變化。

3、提交App Store時(shí)發(fā)生 unsupported architectures '[x86_64]'. 錯(cuò)誤

原因是SDK中有x86_64架構(gòu)。
還是以NMC.framework為例
拷貝一份,放到桌面
cd 到 NMC.framework 目錄
查看包含什么架構(gòu) lipo -info NMC
(這里我偷懶用了NIMSDK的圖)


查看framework架構(gòu).png

移除 x86_64架構(gòu)
lipo -remove x86_64 NMC -o NMC
再檢查一下,是否還存在x86_64 架構(gòu)
lipo -info NMC
如果沒有x86_64架構(gòu)了,就把新的framework拖入項(xiàng)目中,使用,重新提交App Store

另外還可以使用Run Script對(duì) i386 和 x86_64 架構(gòu)剝離二進(jìn)制的
unsupported architectures '[x86_64]解決方法

至此,所有問題解決

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容