问题标签 [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 回答
211 浏览

ios - Xamarin iOS 中的 Objective C 本机库绑定问题

我们正在尝试使用以下链接将 iOS 本机库与 Xamarin 绑定。 https://docs.microsoft.com/en-us/xamarin/ios/platform/binding-objective-c/walkthrough?tabs=macos

但是每当我们尝试这样做时,我们都会得到一个文件,其中包含超过 25k 的行和超过 30-40k 的错误,所有这些我们都得到了 3 行目标 c 代码。

0 投票
1 回答
1700 浏览

ios - 如何使用 ReactiveUI 和 DynamicData 链接 SourceList 观察?

如果术语关闭,请道歉;我是一名 iOS 开发人员,必须使用 Xamarin.iOS 来开发应用程序。我正在使用带有 DynamicData 和 MVVM 架构的 ReactiveUI。总的来说,我对 RxSwift 和 FRP 概念相当满意。SourceList<MyThing>根据文档,我有一个发布 a 的模型,如下所示:

我可以.BindTo()在我的视图(即 iOS 领域的 ViewController)中成功使用来获取 UITableView 以在模型更改时进行更新:

我不想直接绑定到模型,而是让 ViewModel 订阅和发布(或以其他方式代理)这个SourceList<MyThing>,或者这个的可绑定版本,以便 View 只使用 ViewModel 属性。在文档SourceList中声明private;我不确定这里的最佳实践:我是否将其公开并Connect()在 ViewModel 中执行?或者有没有办法传递IObservableCollection<MyThing> ThingsBindable从 ViewModel 公开暴露的内容?我也不相信这ObservableCollectionExtended<MyThing>是 Bindable 属性的正确类型,但它似乎有效。

我尝试了,等的各种组合.ToProperty(),并在 ViewModel 中制作了 View-binding Observable 的一个版本,但无济于事,现在我只是将自动完成功能扔到墙上,看看有什么效果。任何方向表示赞赏。TIA。.Bind().Publish()

0 投票
0 回答
55 浏览

c# - 在创建 xamarin 本机绑定时获取非泛型类型

我正在尝试为原生 iOS 库创建 C# 绑定,并且我使用了客观的 Sharpie 作为工具来执行此操作,但我被困在它已转换的地方

但我收到以下错误,这是有道理的,因为我对 iOS 原生 Objective C 还很陌生,我不知道该怎么做,任何输入都会很有帮助

非泛型类型“NSObject”不能与类型参数一起使用

0 投票
0 回答
62 浏览

xamarin.ios - 无法在 Xamarin.iOS 项目中引用绑定项目

我创建了一个 Xamarin.iOS 绑定项目。我的绑定项目编译成功。然后我添加了 Xamarin.iOS 项目。结构是这样的。

在此处输入图像描述

然后我创建了一个类并尝试像这样导入我的绑定项目。 在此处输入图像描述

但后来我得到以下问题。

在此处输入图像描述

这些的原因是什么?请帮我解决这些问题。谢谢!

0 投票
0 回答
201 浏览

xamarin.ios - 从 Xamarin.iOS 中的抽象类型类创建对象

在我的 Xamarin.iOS 绑定项目中,我生成了一个名为LSMAUsecase.g.cs. 以下是该课程的内容。

我想将LSMaUsecase对象传递给方法。但是我不能从中创建任何对象,因为它是一个抽象类。而且我什至无法转换为 LSMAUsecase 类型。它说,无效的演员表。有什么办法可以解决这个我如何传递这种类型的对象。以下是界面中的相关方法。

更新

这是我的扩展课

然后我得到了这个异常,因为我没有任何“名称”的值(名称只是获取)。

Foundation.MonoTouchException:抛出 Objective-C 异常。名称:NSInvalidArgumentException 原因:-[LSMAHandler sendInvitationForUsecasePhone:toPhone:withReference:andNotify:]:无法识别的选择器发送到实例 0x282458780

0 投票
1 回答
260 浏览

xamarin - 如何在 Xamarin 表单应用程序中使用来自 salesforce 的 ServiceCore 框架?

当我尝试在发布配置中构建应用程序时,我在控制台中收到警告。警告显示ServiceSDK 框架尚未准备好发布。请确保在“嵌入框架”构建阶段之后运行“准备框架”脚本。

从文档中,我了解到必须运行构建阶段脚本来解决问题。

以下是我在解决方案中使用框架的方式:

我正在创建一个绑定库,它通过Native Reference 引用框架。然后我运行库项目并构建一个我在 Xamarin 表单应用程序中的 iOS 项目中使用的 .dll。所有这一切都很好。我能够使用框架中的预期功能。

但是,当我在发布配置中运行应用程序时,控制台中会出现此警告。另外,当我尝试将应用程序提交到 App Store 时,它​​会抛出错误,这显然与上面提到的相同。

我尝试添加我认为相当于 Xcode 构建阶段脚本的自定义命令,但警告并没有简单地消失。

任何帮助将非常感激。

0 投票
1 回答
408 浏览

xamarin - 如何在 MvvmCross for iOS 中结合多个可见性属性绑定(流利)?

我想结合这两个属性:

我为 Android 阅读了类似的内容

但是不知道怎么翻译成流利的,我该怎么办?

0 投票
2 回答
2977 浏览

xamarin - 通过 MVVM 启用和禁用 Xamarin Forms Switch

我有 5 个表单开关,其中一个是全选,应该选择所有其他 switesh 为真。I have a logic when after select all switch is on it cannot be switch back to off manually. 可以关闭按钮(全选)的唯一方法是将另一个按钮更改为假/关闭。

如果我的其他 4 个按钮为真,我已经用逻辑从视图模型处理它我想让用户通过设置逻辑将按钮全选设置为假。但是如果用户可以强制更改并按住开关到 IOS,则使用 IOS假几秒钟按钮停止在假。我尝试过的行为也给了我相同的结果,即使我可以禁用按钮并启用按钮也很好,但根据 xamarine 文档,无法添加命令

0 投票
0 回答
146 浏览

ios - Xamarin Forms CollectionView 抛出 NSInternalInconsistencyException

我有一个 Xamarin 表单项目,它由一个 ColectionView 组成,其 ItemSource 由 ViewModel 中的 ObservableCollection 类型的可绑定属性支持。向 ObservableCollection 添加新项目会引发 NSInternalInconsistencyException,这也仅在实际设备上,而在模拟器中它工作正常。此外,如果我创建一个新的本地参数来保存 ItemSources 值,直到将所有项目添加到它并将其分配给 ItemSource 绑定属性也可以。

ExploreDataList.Add() 将抛出 NSInternalInconsistencyException。创建一个局部变量并向其添加所有值并将其分配回 ExploreDataList 工作正常。在原生 ios 项目中,我们曾经通过批量更新来处理源中的此类更改。但是在表单中我们是否需要这样做,尤其是当 CollectionView 由可观察集合支持时。即使我们将新项目添加到 ObservableCollection 中,也可以使用带有 BindabLayout.itemsource 的 Stacklayout 作为 ExploreDataList。

即下面的代码有效

而下面的 CollectionView 代码失败

0 投票
0 回答
64 浏览

c# - Xamarin iOS Binding 在运行时转换方法

我在编写Xamarin Binding Library时遇到了一个问题。

先决条件

  1. 我有 iOS 原生框架。
  2. 我有一个 Xamarin 表单应用程序。

我必须编写我能够成功编写的 Xamarin 绑定库。

现在我卡住了

iOS 原生框架 API(在 MyClass.h 中):-

绑定代码 API(在 ApiDefination.cs 中):-

现在在 Xamarin UI 中,我们必须调用以下方法:-

现在我的要求是来自 Xamarin UI 我必须调用一个方法clearAllDishes(),并且在 Xamarin Library Binding 中我必须以clearAllDishes()这种方式处理它,以便我们可以从这里向 Xamarin UI 抛出异常并调用 iOS Native API clearAllDishes