原标题:转换微信SDK为Xamarin绑定库 Android5.5.8 iOS1.8.6.2

文章第二次更新,

iOS库 更新为1.8.6.2

已经可以使用的库:

Android nuget:

https://www.nuget.org/packages/XamarinLibrary.Xamarin.Android.WechatSDK/

iOS nuget:

https://www.nuget.org/packages/XamarinLibrary.Xamarin.iOS.WechatSDK/

Github开源库:

https://github.com/jingliancui/XamariniOSWechatSDK

https://github.com/jingliancui/XamarinAndroidWechatSDK

Android库教程:

visual studio→新建Android Binding项目→添加jar文件到Jars目录并设置文件属性为EmbeddedJar->项目reference添加System.Xml→Rebuild项目

解决2个CS0102的错误:

The type'BaseResp'already contains a definition for'ErrCode'

The type'WXMediaMessage'already contains a definition for'MediaObject'

错误原因:

双击Error List的错误,Visual Studio会打开到obj目录内c#内容的错误处。int ErrCode属性标红,发现与该文件内嵌套类class ErrCode同名;

IMediaObject MediaObject属性标红,发现与该文件内嵌套类class MediaObject同名。

解决方法(将标红的属性名改名):

1.Metadata.Xml文件→remove-node

2.将标红报错的属性复制到Additions目录的新建类文件内

3.修改复制后的属性名

4.Rebuild项目

iOS教程:

更新sharpie http://aka.ms/objective-sharpie

查看xcode sdks sharpie xcode -sdks

将查看到的xcode sdk版本写入将h文件转成c#的命令 sharpie bind --output=WechatAuthSDK -- namespace =WechatSDK.WechatAuthSDK --sdk=iphoneos13 .2 -scope . /Users/eric/Desktop/WechatSDK/WeChatSDK1 .8 .6 .1 /WechatAuthSDK.h sharpie bind --output=WXApi -- namespace =WechatSDK.WXApi --sdk=iphoneos13 .2 -scope . /Users/eric/Desktop/WechatSDK/WeChatSDK1 .8 .6 .1 /WXApi.h sharpie bind --output=WXApiObject -- namespace =WechatSDK.WXApiObject --sdk=iphoneos13 .2 -scope . /Users/eric/Desktop/WechatSDK/WeChatSDK1 .8 .6 .1 /WXApiObject.h

删除WechatSDK.WXApi命名空间内与WechatSDK.WXApiObject命名空间相同的内容并using WechatSDK.WXApiObject

去掉所有Verify特性

VisualStudio新建iOS Binding项目→加入以上命令生成的6个文件并设置属性为ObjcBindingApiDefinition与ObjcBindingCoreSource→项目添加.a文件→Rebuild项目

后话

本次升级了iOS的库为1.8.6.2,因为苹果的审核需要开始不使用uiwebview了。另外如果大家遇到提交到app store提示还是有uiwebview的问题,已经有小伙伴告诉我,苹果的答复是苹果的代码检查机制的问题,就算去掉了也可能会收到这个issue,4月分苹果会更新。如果大家在使用这个库有问题的话,请随时在公众号留言或者在GitHub提交issue。欢迎大家评论或者在公众号发消息一起讨论Xamarin移动开发相关技术。 返回搜狐,查看更多

责任编辑:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐