Xamrin.iOS 绑定Xinge

作者: smallqiang | 来源:发表于2018-12-11 10:08 被阅读9次

现在iOS的推送其实并不复杂,但是为了统一安卓与苹果的推送,我们通常会使用信鸽来做推送。

所以我们依然面临需要做绑定的问题。

对于Framework类型的文件的绑定会比较简单,但是Object C的库会经常出现一些莫名其妙的问题。

1、下载信鸽的iOS版本的SDK,并解压

2、将libXG-SDK.a文件拷贝到绑定库

3、默认生成的libXG-SDK.linkwith.cs文件是有问题的:

using ObjCRuntime;

[assembly: LinkWith (libXG-SDK.a, SmartLink = true, ForceLoad = true)]

为了获取这个库支持的架构,我们执行一下

xcrun -sdk iphoneos lipo -info libXG-SDK.a

得到的架构结果是

 armv7 arm64 i386 x86_64 

于是我们改一下:

[assembly: LinkWith ("libXG-SDK.a", LinkTarget.ArmV7 | LinkTarget.Arm64 | LinkTarget.Simulator | LinkTarget.Simulator64, SmartLink = true, ForceLoad = true)]

4、下载https://dl.xamarin.com/objective-sharpie/ObjectiveSharpie.pkg

最好是这个https://bosstoragemirror.blob.core.windows.net/objective-sharpie/builds/4cde014216e8887375f9793d3a2607529833443b/440/76194/ObjectiveSharpie-3.4.23.pkg

并安装,并执行

sharpie xcode -sdks

看看支持的sdk

sdk: appletvos11.4 arch: arm64   

sdk: iphoneos11.4  arch: arm64  armv7   

sdk: macosx10.13 arch: x86_64 i386    

sdk: watchos4.3  arch: armv7k  

5、执行

sharpie bind --output=Xinge -scope . --namespace=XinGe.Binding.iOS --sdk=iphoneos11.4 XGPush.h

6、拷贝ApiDefinitions.cs到ApiDefinition.cs,StructsAndEnums.cs拷贝到Structs.cs

7、将枚举类型继承自nuint改成ulong

8、将XGNotificationCategory的基类改成INativeObject

相关文章

  • Xamrin.iOS 绑定Xinge

    现在iOS的推送其实并不复杂,但是为了统一安卓与苹果的推送,我们通常会使用信鸽来做推送。 所以我们依然面临需要做绑...

  • [Guice] 5 绑定

    绑定的方式有很多种:<1> 类名绑定<2> 实例绑定<3> 连接绑定<4> Provider绑定<5> 命名绑定<...

  • Vue绑定属性 绑定Html 绑定class 绑定style

    一,绑定属性 二,绑定html 三,绑定class 4,绑定style

  • 2020-04-23 v-model

    1、 绑定文本输入框input,绑定 textarea,绑定select, 绑定 多选,绑定单选:

  • VUE的数据绑定

    数据绑定分为单向绑定、双向绑定。 单向绑定 model绑定到view,声明式绑定. 1. 用两个大括号{{}}...

  • js -> this

    优先级: new绑定 > 显式绑定 > 隐式绑定 > 默认绑定 1、 默认绑定 2、 隐式绑定(格式: xxx.f...

  • 程序语言基础知识

    把一个方法与其所在的类/对象关联起来叫做方法的绑定,绑定分为静态绑定(前期绑定)和动态绑定(后期绑定)。 静态绑定...

  • this的绑定规则(四种)

    this 的四种绑定策略( 默认绑定、隐式绑定、显式绑定、new 绑定 ) 默认绑定:this 一般默认指向全局作...

  • 六、ASP.NET之数据绑定控件(一)

    数据绑定控件 简单数据绑定 1、数据绑定的实现方式分为: (1)简单绑定 (a)表达式绑定 (b)方法绑定 (2...

  • 如何正确的判断this? 箭头函数的this是什么?

    this的绑定规则有四种:默认绑定,隐式绑定,显式绑定,new绑定 。 函数是否在 new 中调用(new绑定),...

网友评论

    本文标题:Xamrin.iOS 绑定Xinge

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