從開始做這一塊的工作開始,就開始找各種的資料,最后還是老老實實的去看官方文檔友雳。
對于Xamarin.Android的綁定屬于純jar的綁定,這個難度較小铅匹,添加Bindings Library押赊,將libammsdk.jar添加到指定的文件夾中編譯,不出意外的會報出兩個錯誤包斑,解決辦法是:雙擊錯誤提示到相應的文件流礁,然后找到錯誤提示中提到的類的定義,類定義的上面有路徑罗丰,拷貝到Transforms文件夾下的Metadata.xml文件中神帅,如下圖所示,這樣就ok了萌抵,編譯通過
在調(diào)用的微信API的過程中,要求在微信申請的AppID與應用的包名以及應用簽名要完全對應起來找御,有一個沒有對應起來,在調(diào)用的時候會出現(xiàn)調(diào)用微信閃退的情況绍填。
另外霎桅,我在App中用的是微信的網(wǎng)頁鏈接分享功能,在獲取圖片的byte數(shù)組的時候用的是下面幾行代碼
Bitmapthumb=BitmapFactory.DecodeResource(Utility.resources,Resource.Drawable.icon);
MemoryStream stream=new MemoryStream();
thumb.Compress(Bitmap.CompressFormat.Png,0,stream);
byte[] bitmapData=stream.ToArray();
還有一點要注意的是Resource.Drawable.icon對應的資源要在每個drawable文件夾里都放一份icon,不然的話獲取的bitmapData會有問題讨永,調(diào)用分享功能的時候滔驶,程序會出現(xiàn)沒有響應的情況。
下面來說一下Xamarin.iOS的綁定卿闹,這個相對來說比較麻煩揭糕,也是在QQ群里遇到大神的指點才綁定成功的,對于iOS的微信綁定來說锻霎,只要Bundle ID與微信開放平臺申請的AppID 能對應起來就OK了著角。
同樣的先添加一個iOS的Bindings Library,根據(jù)官方文檔旋恼,安裝了sharpie 還有xcode command line雇寇,接下來就是把下載下來的微信SDK for iOS用sharpie來轉(zhuǎn)換一下:
sharpie bind -output=iOS.WechatBinding -namespace=iOS.WechatBinding -sdk=iphoneos10.1 [絕對路徑]/OpenSDK1.7.5/*.h
執(zhí)行完成會提示有兩個錯誤,但是照樣會生成ApiDefinitions.cs跟StructsAndEnums.cs兩個文件蚌铜,根據(jù)官方文檔,將兩個文件中的內(nèi)容分別復制黏貼到Bindings Library下的ApiDefinition.cs以及Structs.cs文件中嫩海,并且將libWeChatSDK.a添加到Native References中冬殃。
編譯后會報出一堆錯誤,這些錯誤其實是起到一個提示的作用叁怪,讓程序員驗證一下sharpie的轉(zhuǎn)換是不是正確审葬,這里我將[Verify(************)]全部注釋掉,也可以刪掉,再次編譯通過涣觉。
在iOS接入微信的sdk中會發(fā)現(xiàn)這樣一段話:開發(fā)者需要在工程中鏈接上:SystemConfiguration.framework, libz.dylib, libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework痴荐。在這里需要編輯一下引入的libWeChatSDK.a的屬性,Native References下的libWeChatSDK官册,右鍵屬性生兆,配置如下:
配置完成后,綁定工作算是大功告成了膝宁,可以繼續(xù)后面的工作了鸦难。
歡迎大家指正。