问题标签 [objective-sharpie]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
125 浏览

objective-c - 如何使用 Objective Sharpie 在 Objective-C 库中绑定 C 数组类型?

我需要绑定的方法在原始数组中有参数,例如:

如何将const CGPoint[4]类型与 C# 类型绑定?

注意:使用 Sharpie,结果如下

当我构建它时,我得到了错误

0 投票
1 回答
197 浏览

binding - 使用目标 Sharpie 协议绑定后,在 xamarin.iOS 中未调用方法

我在使用 Objective Sharpie 进行绑定时遇到了一些问题。我正在将IndoorAtlasiOS 本机 sdk 与 Xamarin.ios 绑定。

问题是在实现协议方法时,因为这些方法没有被调用。我们需要特殊处理吗?

我正在附加 API 定义文件和实现文件。

////ViewController --调用委托方法

0 投票
1 回答
1488 浏览

xamarin - 使用 Objective Sharpie 将 Objective-C 库绑定到 C# 时遇到问题

我正在尝试浏览本指南:

https://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/walkthrough/

尝试为此 github 项目创建绑定:

https://github.com/lminhtm/LMGaugeView

使用Sharpie 3.4。

我遇到了以下问题:

  1. 我无法使用架构生成 Fat 二进制文件,i386 armv7 x86_64 arm64因为我正在针对 iOS11 构建。我只能生成具有体系结构的 Fat 二进制文件,x86_64并且arm64尝试其他文件会给我错误消息invalid iOS deployment version, iOS 10 is the max deployment target for 32-bit targets。这是预期的吗?

  2. 然后,当我使用 Sharpie 时,我能够生成 API 和 Struct 文件,但是,这些文件中的每一个都很大,Structs 以 24K+ 行结束,而 API 54K+ 行。我也关注了一个 youtube 教程,他得到的输出大约是 200 行左右,所以我的如此庞大的事实让我觉得有些事情正在发生。他的教程不是针对我的同一个 Objective-C 项目,但我什至尝试了与他相同的教程,并得到了相同的结果。

  3. 结构文件最终有超过 7K 的错误,我看到无数行看起来像:

    /li>

它缺少标识符名称并且有这个 [unsupported Builtin: 我不明白的部分。

还有无数对其他 iOS 版本、watchOS 和 TV 的引用,所以它似乎正在尝试为每个 OS 和版本创建 API 和 Structs,这就是为什么文件会这么大是有道理的。这是 Struct 文件中的一个小片段:

我知道这些文件应该更小,特别是因为 Objective-C 代码是单个头文件。我在这里做错了什么?

如果需要,我可以提供更多详细信息!

0 投票
2 回答
588 浏览

xamarin - Xamarin iOS 绑定项目

我有一个 Xamarin.iOS 应用程序,并且我想引用一个绑定项目,以便我可以.a在我的项目中使用一个文件。但是当我尝试构建时出现此错误:

链接器命令失败,退出代码为 1(使用 -v 查看调用)/Users/darius/Mobile-MyApp/Source/MyApp/MyApp.Touch/MTOUCH:错误 MT5216:'/Users/darius/Mobile-MyApp 的本机链接失败/Source/MyApp/MyApp.Touch/obj/iPhone/Debug/device-builds/iphone7.1-11.0.3/mtouch-cache/arm64/libAcrCloudSdkIosBinding.dll.dylib'。请在http://bugzilla.xamarin.com (MT5216) (Touchshop.Touch)提交错误报告

我用这个命令行检查了.a文件支持的架构:

xcrun -sdk iphoneos lipo -info libACRCloud_IOS_SDK.a

它输出:

Architectures in the fat file: libACRCloud_IOS_SDK.a are: armv7 i386 x86_64 arm64

我把它.a放在NativeReferences文件夹里。

这是我的ApiDefinition.cs

}

并且Structs.cs

是它的来源,该.a文件也可以在那里找到(libACRCloud_IOS_SDK.a)。这是它的cocoapod

0 投票
1 回答
328 浏览

c# - 目标 Sharpie:生成的 (*.g) 文件有错误:无法在静态类中声明实例成员 (CS0708)

我确实理解静态类不能声明实例成员,但是这是由于生成了

编译器的输入:APIDefinition.cs

中间编译器输出:TVOCall_CallKitIntegration.g.cs

在此处输入图像描述

导致正确生成 g 文件的 APIDefinition 的正确更改是什么?

0 投票
0 回答
295 浏览

xamarin - 将静态库“.a”转换为绑定库

我尝试使用 Sharpies 将库.a转换为绑定库,但出现了一些错误。我执行的命令是:

并且返回的错误是:

错误:无法处理编译,在处理 /Users/federicopieri/Desktop/GPDL/libMSSUniversal.a 时,在“错误”中预期只有一个编译器作业。

完毕。以错误代码 1 退出。错误:Clang 无法解析输入并以代码 1 退出

任何帮助,将不胜感激

0 投票
3 回答
1381 浏览

xamarin - 与目标 Sharpie 绑定输出巨大的文件

我正在尝试将我的 swift 框架与 Xamarin 绑定。我为此使用了客观的Sharpie。

  • 我在框架中将“启用位码”设置为“否”。
  • 构建运行框架。
  • 使用以下命令绑定头文件。

sharpie bind -sdk iphoneos11.1 MyFramework.framework/Headers/MyFramework-Swift.h -output=MyFrameworkCS -namespace=MyFramework

我得到了 APIDefinitions.cs 文件,但它有超过 79000 行并且有很多错误。StructsAndEnums.cs 文件也很大。

我的框架(和 .h 文件)只有 UIKit、AVFoundation 和 Foundation 的导入语句。但是 APIDefinitions.cs 有这个。

我对 Xamarin 很陌生,并且超级卡在这里。任何帮助将不胜感激!

0 投票
1 回答
642 浏览

c# - Xamarin Object Sharpie Obj-C 库绑定为什么要输出巨大的文件?

我现在正在尝试绑定 Google Maps iOS utils 的 Heatmap 部分。

https://github.com/googlemaps/google-maps-ios-utils

1:.a文件创建

2:创建Makefile并执行make命令

3:添加「.a」文件绑定项目

4:创建 ApiDefinitions & StructsAndEnums 文件

执行命令

结果

执行sharpie bind命令后,生成了ApiDefinitions.cs和StructsAndEnums.cs,但是这两个文件的代码都超过20000行,出现了3000多个错误

为什么使用了 14 个头文件却没有一个满足 100 行的情况下会创建一个巨大的文件?

我刚刚开始使用 Xamarin,我在这里遇到了很多困难。为什么必须绝对使用热图是有原因的。

请帮我

0 投票
1 回答
519 浏览

c# - Sharpie pod绑定:无法解析目标sdk

我正在使用 Xamarin 在 c# 中创建一个 Appletvos 项目,我需要使用 VLCKit 库,我尝试使用 cocoapod 和 Sharpie 创建这个项目,但我在

它正确地使用我的 VLCKit 文件创建了一个构建目录,但在它说之后

我不明白,因为命令

工作正常。

这是我的播客文件:

这就是我的终端的样子

您知道解决此问题的方法或如何创建我需要的绑定项目吗?

(还有谁能告诉我IOS库和TVOS库的说明是否相同,我只找到了IOS的文档)

(我也可以在 C# 中使用 Xamarin 在 TVOS 项目中使用 IOS、MACOS 库)

谢谢

0 投票
1 回答
326 浏览

c# - opencv绑定ios

我正在尝试使用 Objective Sharpie为 OpenCV 3.4 的目标 c 库(https://opencv.org/releases.html,预编译并使用额外模块从源代码构建)创建 C#绑定,但没有成功。要么我使用了错误的 Sharpie 参数,要么编译的 opencv2.framework 有问题。

工具/版本:

  • 记号笔 3.4.0
  • iphone11.2 SDK
  • OpenCV 3.4.0(预编译和/或使用额外模块从源代码成功构建)

我尝试了以下 Sharpie 参数(当当前目录包含 opencv2.framework 时):

那是因为伞形文件是 Headers/opencv.hpp。所以我将参数更改为:

在每个订单中都完全被忽略了。

我还尝试了许多其他可能性,例如仅定义 .a 文件(结合使用 lipo 删除包含的库):

或直接使用以下方法解决伞头:

失败是因为找不到“opencv2/...hpp”文件,因为每个包含的 hpp 都引用“opencv2/...”结构