美文网首页Xamarin.Forms
Xamarin绑定微信SDK 实现分享功能

Xamarin绑定微信SDK 实现分享功能

作者: 游泳帽 | 来源:发表于2016-12-08 15:23 被阅读698次

从开始做这一块的工作开始,就开始找各种的资料,最后还是老老实实的去看官方文档。

对于Xamarin.Android的绑定属于纯jar的绑定,这个难度较小,添加Bindings Library,将libammsdk.jar添加到指定的文件夹中编译,不出意外的会报出两个错误,解决办法是:双击错误提示到相应的文件,然后找到错误提示中提到的类的定义,类定义的上面有路径,拷贝到Transforms文件夹下的Metadata.xml文件中,如下图所示,这样就ok了,编译通过

metadata.xml

在调用的微信API的过程中,要求在微信申请的AppID与应用的包名以及应用签名要完全对应起来,有一个没有对应起来,在调用的时候会出现调用微信闪退的情况。

另外,我在App中用的是微信的网页链接分享功能,在获取图片的byte数组的时候用的是下面几行代码

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会有问题,调用分享功能的时候,程序会出现没有响应的情况。

下面来说一下Xamarin.iOS的绑定,这个相对来说比较麻烦,也是在QQ群里遇到大神的指点才绑定成功的,对于iOS的微信绑定来说,只要Bundle ID与微信开放平台申请的AppID 能对应起来就OK了。

同样的先添加一个iOS的Bindings Library,根据官方文档,安装了sharpie 还有xcode command line,接下来就是把下载下来的微信SDK for iOS用sharpie来转换一下:

sharpie bind -output=iOS.WechatBinding -namespace=iOS.WechatBinding -sdk=iphoneos10.1 [绝对路径]/OpenSDK1.7.5/*.h

执行完成会提示有两个错误,但是照样会生成ApiDefinitions.cs跟StructsAndEnums.cs两个文件,根据官方文档,将两个文件中的内容分别复制黏贴到Bindings Library下的ApiDefinition.cs以及Structs.cs文件中,并且将libWeChatSDK.a添加到Native References中。

编译后会报出一堆错误,这些错误其实是起到一个提示的作用,让程序员验证一下sharpie的转换是不是正确,这里我将[Verify(************)]全部注释掉,也可以删掉,再次编译通过。

在iOS接入微信的sdk中会发现这样一段话:开发者需要在工程中链接上:SystemConfiguration.framework, libz.dylib, libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework。在这里需要编辑一下引入的libWeChatSDK.a的属性,Native References下的libWeChatSDK,右键属性,配置如下:

libWeChatSDK.a属性配置

配置完成后,绑定工作算是大功告成了,可以继续后面的工作了。

欢迎大家指正。

相关文章

  • Xamarin绑定微信SDK 实现分享功能

    从开始做这一块的工作开始,就开始找各种的资料,最后还是老老实实的去看官方文档。 对于Xamarin.Android...

  • Xamarin IOS绑定微信SDK

    上篇文章分享了Xamarin Android绑定微信SDK,由于Java和C#的语法相似度比较高,所以转换起来基本...

  • Xamarin Android绑定微信SDK

    现在几乎所有的APP都集成了向微博,微信等社交平台分享的功能。这些社交平台官方也提供了SDK让开发者使用,对于An...

  • 使用动态framework封装微信SDK实践2019-11-14

    需求 对外提供一个SDK,功能是拉起微信小程序。 分析 实现原理:在将要开发的SDK中,封装微信的SDK,通过微信...

  • 微信SDK分享文件给好友

    最近公司要求实现分享pdf文件给微信好友的需求,去微信官方SDK文档去找发现官方文档没有介绍分享文件的功能,一番折...

  • swift微信分享实现

    最近业务需要,做了微信分享,这里采用的是微信官方分享的sdk,下面说下sdk导入步骤及部分分享和分享场景的实现: ...

  • 微信分享

    前情提要:微信网页的分享,需要服务器域名与公众号绑定才能实现此功能。以前的微信分享,可以很明确的知道用户到底有没有...

  • Xcode10制作 framework详细步骤及坑说明

    在开发中,我们经常使用使用封装的库进行开发,比如微信、微博分享等sdk,很容易实现我们的登录分享功能。 一、什么是...

  • 微信公众号开发调用微信接口(以扫一扫为例)

    官方文档:微信JS-SDK说明文档 1. 绑定域名 在微信公众号平台中配置安全域名: 公众号设置 - 功能设置 -...

  • 一行代码实现微信、QQ登陆与分享

    废话不多说,在此分享的是一个利用官方原生SDK集成的实现微信、QQ登陆与分享功能的Demo github地址:ht...

网友评论

    本文标题:Xamarin绑定微信SDK 实现分享功能

    本文链接:https://www.haomeiwen.com/subject/vnksmttx.html