问题标签 [xamarin.ios-binding]

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 回答
794 浏览

c# - Xamarin.iOS 与第三方框架的绑定

我正在尝试更新指向我管理的代码的 Xamarin.iOS 绑定,现在我遇到了麻烦,因为我已经用 .framework 替换了外部 .a 库引用。特别是,当我尝试编译绑定时,我替换的库的本机链接失败。

我知道 SVGKit 支持这些架构,但我不确定在从 .framework 引用时如何将它们包含在生成的二进制文件中。

0 投票
0 回答
80 浏览

xamarin.ios - Xamarin 绑定成功,但在测试应用程序中使用 dll 时,在启动时崩溃并出现 dyld 错误

过滤的系统日志:未找到

Dyld 错误消息:Dyld 消息:库未加载:@rpath/RichRelevanceSDK.framework/RichRelevanceSDK 引用自:/var/mobile/Containers/Bundle/Application/2B4C7D0D-F3B9-404D-A27E-1023D3468B7B/RRTestApp.app/RRTestApp 原因:图片未找到 Dyld 版本:370.6

二进制图像:0xe6000 - 0x5a9fff RRTestApp armv7 /var/mobile/Containers/Bundle/Application/2B4C7D0D-F3B9-404D-A27E-1023D3468B7B/RRTestApp.app/RRTestApp 0x1feef000 - 0x1ff16fff dyld armv7s /usr/lib/dyld

0 投票
1 回答
2932 浏览

xamarin.ios - Xamarin ios 委托

在 Xamarin 中使用委托模式的正确方法是什么?

在 API 定义(由 生成sharpie)中,我将协议映射到InterfaceSomeDelegate:

我已经像这样声明了视图控制器:

但我不能让视图控制器像这样实现我的协议:(不能有多个基类)

我可以delegate在一些额外的类上实现它:

并将此类用作代表,但这对我来说并不是很方便。

我最近发现通过添加“I”:

我通过(我假设)明确说编译器这是接口(协议)而不是基类来避免出现“多个基类错误”。

现在我需要将委托作为方法的参数传递,并且有编译错误 - 无法将SomeDelegate类型转换为SomeDelegate

有没有办法delegates在某些类中实现UIViewController(无论如何)?

0 投票
0 回答
219 浏览

xamarin.ios - Xamarin.ios 使用 DLL 库

我有xamarin绑定项目(代表到本机静态库的一种桥梁iOS),如果添加到解决方案中,它可以正常工作。

我想要做的是使用 /bin/libary.dll 而不是绑定项目。

我创建了新的xamarin.ios简单视图项目,添加了对 library.dll 的引用。

项目使用该库中的 API 编译良好,但运行时出现致命错误:

在此处输入图像描述 所以没有应用程序的入口点

很抱歉发布明显的答案,但我需要让它快速工作。

0 投票
2 回答
2305 浏览

delegates - Xamarin.iOS 中的委托

我在为 xamarin.ios 委托创建类时遇到问题。在 iOS 中,我们使用协议来实现委托,但在这里我不能将接口实现为委托。让我澄清这个概念。我在一个文件中有一个接口,例如:

在其他文件中,我有这样的主类:

现在你能告诉我这个接口是如何在 SelectList 类中实现的吗?

谢谢

0 投票
2 回答
1668 浏览

c++ - xamarin ios绑定上的本机链接错误

我正在编写一个使用 P/Invoke 绑定到 iOS SDK 的包装器,因为 Sharpie 无法为此 SDK 生成可编译代码。

在使用引用的包装器项目编译 iOS 应用程序时,我遇到了许多链接问题,例如:

MTOUCH:错误 MT5210:本机链接失败,未定义符号:std::locale::classic()。请确认所有必要的框架都已被引用并且本机库已正确链接。MTOUCH:错误 MT5210:本机链接失败,未定义符号:std::__throw_bad_cast()。请确认所有必要的框架都已被引用并且本机库已正确链接。MTOUCH:错误 MT5210:本机链接失败,未定义符号:std::invalid_argument::invalid_argument(std::string const&)。请确认所有必要的框架都已被引用,并且本地库已正确链接。(请在此完整日志文件中找到完整日志。)

从 iOS 项目传递的额外单声道触摸参数描述如下:

-cxx -v -gcc_flags "-L${ProjectDir} -lstdc++ -lresolv -liconv -lxml2 -lz -ObjC -force_load ${ProjectDir}/Libs/libcrypto.a" -cxx -v -gcc_flags "-L${ProjectDir } -lstdc++ -lresolv -liconv -lxml2 -lz -ObjC -force_load ${ProjectDir}/Libs/libssl.a" -cxx -v -gcc_flags "-lstdc++ -lresolv -liconv -lxml2 -lz -ObjC -L${ProjectDir } -framework Security -framework CoreVideo -framework CoreMedia -framework AVFoundation -framework CFNetwork -framework Accelerate -framework AudioToolbox -framework CoreAudio -framework Foundation -framework CoreGraphics -framework UIKit -force_load ${ProjectDir}/Libs/libsipwrapper.a -dead_strip -all_load "

SDK 由三个库组成:libcrypto.a、libssl.a 和 libsipwrapper.a。

在互联网上的许多文章/帖子之后,建议添加添加标准库,例如 -lstdc++、lz 和 ObjC,但这似乎不适用于我的情况。

我还尝试创建一个包含三个库和包装器代码的绑定项目,添加到链接文件的内容看起来像这样:

[程序集:LinkWith ("libsipwrapper.a", LinkTarget.ArmV7 | LinkTarget.ArmV7s | LinkTarget.Arm64, Frameworks = "CoreVideo CoreMedia AVFoundation CFNetwork Accelerate AudioToolbox CoreAudio Foundation CoreGraphics UIKit", ForceLoad = false, SmartLink = true, IsCxx = true, LinkerFlags = "-lstdc++ -lresolv -liconv -lxml2 -lz -ObjC")]

问题没有解决,我继续遇到所描述的链接错误。

0 投票
1 回答
1388 浏览

xamarin - 在 Xamarin 表单中使用动态创建的 10 个标签绑定模型对象

我正在研究 Xamarin 表单并遇到一个问题,我需要将模型对象绑定到使用 for 循环动态创建的 10 个标签。我可以使用 setBinding 来绑定单个标签

但是如何绑定动态创建的标签。我正在使用 for 循环创建标签,例如

如何为myModelObj中的不同标签分配不同的值

0 投票
2 回答
1200 浏览

xamarin - BTOUCH:错误 BI1017:不知道如何在 get_IssueTransport 方法中为 System.Int32* 进行签名

我正在将 JMC 目标 C 静态库绑定到与 Xamarin 兼容的库,目前我正在尝试构建我的绑定项目(其中包含 ApiDefinition.cs、StructsAndEnums.cs 和 libJmcSDK.a)但是当我尝试构建这个 Xamarin 绑定项目时我' m 收到以下错误:
BTOUCH: error BI1017: btouch: Do not know how to make a signature for System.Int32* in method 'get_IssueTransport'

当我尝试搜索 get_IssueTransport 方法时,他们没有搜索结果,试图找到 System.Int32 签名,但无法在整个解决方案中找到。

提前非常感谢解决此问题的任何帮助。谢谢。

0 投票
1 回答
131 浏览

c# - 如何使用本机引用在 Xamarin Studio 6 中设置 LinkTarget

我正在使用 Xamarin Studio 6 创建一个 xamarin.ios 绑定。我已将静态库添加为本机引用。但是如何通过属性窗口设置 LinkTarget (LinkTarget = LinkTarget.ArmV7 | LinkTarget.Simulator)?

0 投票
2 回答
2307 浏览

objective-c - 无法创建“FWSImageRepo”类型的本机实例。本机类尚未加载

我正在尝试链接AFNetworking内部使用的本机 iOS 框架,我最初将其构建为原型,以便将我公司的一些 ObjC IP 转移到将来也可以与 Xamarin 链接。

我首先创建了一个简单的类,它使用 AFNetworking 将小猫加载到 UIImageView

头文件:

执行

我创建了一个框架编译器目标,并将该框架复制到 Xamarin iOS 项目中。我使用了 Objective Sharpie 来生成下面的绑定

所有这些都按照 a 中binding project的说明进行链接,框架作为本机引用链接,绑定项目由单页 Xamarin iOS 应用程序引用。

现在,仅对该类var fwrepo = new FWSImageRepo();进行初始化就表明该框架根本不适合该项目。即使我没有链接绑定项目中的框架,错误也不会改变

有什么理由检查发生了什么?我已经尝试了一切,并在网上用尽了我的搜索。就我所搜索的而言,在任何地方都没有这个要求的例子,而且几乎没有任何方向。我已经尝试过其他面临相同问题的解决方案。我如何查找我出错的地方?

这是我创建的项目的链接https://drive.google.com/open?id=0B2f9RlRxZKoZcElIRkpLZnF6WVU