本文面向ios小白,大佬勿看輕噴。
************************************************************
最新問題:
iPhone7 ios10.3 配置alimeetinguisdk.framework後真機測試閃退,只配置alimeetingsdk.framework則不存在該問題,與官網寫的環境配置有所出入,官網↓。
iPhoneX ios12 可以正常使用。
************************************************************
Dcloud官網有給出教學文檔,但寫的不是很清楚。
https://ask.dcloud.net.cn/article/67
下載ios端離線打包文件,配置好h5工程,並且可以正常編譯、測試(離線打包文件的操作詳情見 《ios離線打包 +xcode文件打包》 )。
https://nativesupport.dcloud.net.cn/AppDocs/download/ios
下載阿里雲視頻會議的framework插件包,也有教學可以看下。
https://help.aliyun.com/document_detail/150183.html
這裏的插件包包含了alimeetinguisdk和almeetingsdk
下載阿里雲視頻會議的測試demo,也有教學可以看下。
https://help.aliyun.com/document_detail/149994.html
下這麼多文件,後面各有各的用處,能複製的絕對不自己寫。
這裏東拼西湊的核心思路就是在離線打包文件的基礎上添加alimeetinguisdk和alimeetingsdk兩個framework包,添加測試demo中的四個文件,完成。
離線打包demo + + = 完成
首先需要配置,將這兩個插件包拷貝到工程目錄下的libs中,並且添加。
添加完成後,檢查這兩處是否自動添加,若沒有自動添加則手動添加。
General,需要設置成embed&sign
Build phases,這裏兩個包不會並列顯示,需要仔細找找
在signing &capabilities中設置background modes,如果沒有該選項,點擊+ capability,將background modes添加進去。
設置成voice over IP
在build phases中添加copy files,若沒有則點擊左邊的加號添加。
在copy files中添加這兩個framework,並將destination設置成frameworks
注意這裏設置完以後啓動工程可能會報has copy command的錯誤,若出現這種情況。
點擊file-priject settings,將build system設置成legacy build system。
點擊product-clean後報錯消失。
在supporting files中找到你的info.plist文件。
添加以下四行。
找到build settings,搜索bit,將enable bitcode設置爲no。
Framework配置部分完成。
阿里雲視頻會議插件配置部分
起一個插件名稱,我這裏以YuncvcPlugin爲例。
在xcode中打開supporting files-bundles-pandoraApi.bundile-feature.plist
按加號聲明一個插件類別,填寫好插件名
打開離線打包解壓出來的文件夾HBuilder-Integrate,將plugintest.h和plugintest.m文件複製到工程目錄下,並重命名爲插件的名字,如圖。
將阿里雲視頻內這兩個文件複製過來,該文件可以將後臺傳過來的JSON格式數據轉換成NSDictionary格式,結果如圖,接下去就以這兩個類爲例。
YuncvcPlugin.h文件必須引入
#include "PGPlugin.h"
#include "PGMethod.h"
如圖,將interface後面改爲插件名,這裏我還註釋掉了多餘的接口,只留下了一個。
.m文件中將這些包全部引入,統一把impl後面改成插件名,將多餘的方法刪除,留下一個和頭文件(接口文件)中接口名一樣的方法(很好理解,.h文件是頭文件,也就是接口文件,.m是它的實現類)
剩下的就是在留下的那個方法裏寫和js交互的內容就好,看圖就能夠理解原生層和js交互的過程。
後臺傳過來的數據會通過如下方法轉換成oc可以用的格式,從數據中提取NSDictionary,再由鍵值對形式提取值,放入對應格式的NSDictionary 中,再實現加入會議即可。
(該代碼demo中有,這裏就不再複製)
關於數據格式,由於傳過來的JSON格式數據可以轉換,所以後臺寫起來比較方便。