從開始做這一塊的工作開始,就開始找各種的資料,最后還是老老實(shí)實(shí)的去看官方文檔。

對于Xamarin.Android的綁定屬于純jar的綁定,這個(gè)難度較小,添加Bindings Library,將libammsdk.jar添加到指定的文件夾中編譯,不出意外的會(huì)報(bào)出兩個(gè)錯(cuò)誤,解決辦法是:雙擊錯(cuò)誤提示到相應(yīng)的文件,然后找到錯(cuò)誤提示中提到的類的定義,類定義的上面有路徑,拷貝到Transforms文件夾下的Metadata.xml文件中,如下圖所示,這樣就ok了,編譯通過

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

在調(diào)用的微信API的過程中,要求在微信申請的AppID與應(yīng)用的包名以及應(yīng)用簽名要完全對應(yīng)起來,有一個(gè)沒有對應(yīng)起來,在調(diào)用的時(shí)候會(huì)出現(xiàn)調(diào)用微信閃退的情況。

另外,我在App中用的是微信的網(wǎng)頁鏈接分享功能,在獲取圖片的byte數(shù)組的時(shí)候用的是下面幾行代碼

1
2
3
4
5
6
7
Bitmap thumb=BitmapFactory.DecodeResource(Utility.resources,Resource.Drawable.icon);
 
MemoryStream stream=new MemoryStream();
 
thumb.Compress(Bitmap.CompressFormat.Png,0,stream);
 
byte[] bitmapData=stream.ToArray();

還有一點(diǎn)要注意的是Resource.Drawable.icon對應(yīng)的資源要在每個(gè)drawable文件夾里都放一份icon,不然的話獲取的bitmapData會(huì)有問題,調(diào)用分享功能的時(shí)候,程序會(huì)出現(xiàn)沒有響應(yīng)的情況。

下面來說一下Xamarin.iOS的綁定,這個(gè)相對來說比較麻煩,也是在QQ群里遇到大神的指點(diǎn)才綁定成功的,對于iOS的微信綁定來說,只要Bundle ID與微信開放平臺(tái)申請的AppID 能對應(yīng)起來就OK了。

同樣的先添加一個(gè)iOS的Bindings Library,根據(jù)官方文檔,安裝了sharpie 還有xcode command line,接下來就是把下載下來的微信SDK for iOS用sharpie來轉(zhuǎn)換一下:

1
sharpie bind -output=iOS.WechatBinding -namespace=iOS.WechatBinding -sdk=iphoneos10.1 [絕對路徑]/OpenSDK1.7.5/*.h

執(zhí)行完成會(huì)提示有兩個(gè)錯(cuò)誤,但是照樣會(huì)生成ApiDefinitions.cs跟StructsAndEnums.cs兩個(gè)文件,根據(jù)官方文檔,將兩個(gè)文件中的內(nèi)容分別復(fù)制黏貼到Bindings Library下的ApiDefinition.cs以及Structs.cs文件中,并且將libWeChatSDK.a添加到Native References中。

編譯后會(huì)報(bào)出一堆錯(cuò)誤,這些錯(cuò)誤其實(shí)是起到一個(gè)提示的作用,讓程序員驗(yàn)證一下sharpie的轉(zhuǎn)換是不是正確,這里我將[Verify(************)]全部注釋掉,也可以刪掉,再次編譯通過。

在iOS接入微信的sdk中會(huì)發(fā)現(xiàn)這樣一段話:開發(fā)者需要在工程中鏈接上:SystemConfiguration.framework, libz.dylib, libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework。在這里需要編輯一下引入的libWeChatSDK.a的屬性,Native References下的libWeChatSDK,右鍵屬性,配置如下:

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

配置完成后,綁定工作算是大功告成了,可以繼續(xù)后面的工作了。

歡迎大家指正。

 

分類: Xamarin