ios - Xamarin.iOS 写入 NFC

标签 ios xamarin xamarin.forms xamarin.android xamarin.ios

如何使用 Xamarin.iOS 编写 NFC 标签?假设这还不可能 - 因为我在 API 文档或 Xamarin Forms 的发行说明中找不到任何提及此内容的内容:是否有可以预期的时间表?

另外,目前有解决办法吗?

最佳答案

Xamarin.iOS 的美妙之处在于,您可以使用 native Apple 库执行的所有操作,都可以在 C# 中执行。因此,如果使用 Swift 和 native 库可以实现某些功能,您将能够使用该库的 C# 版本来实现,在您的情况下使用 CoreNFC。

所以你的下一步就是弄清楚如何用 C# 编写 Swift/Obj-C 代码。 使用 Apple docs ,很明显,您只能使用 iPhone 写入特定类型的标签。因此,让我们选择使用 NFCISO7816Tag。

首先,您必须创建一个实现 INFCIso7816Tag 的类。因此,我创建了实现 INFCIso7816TagNFCIso7816Tag。我适本地填写了所有内容。之后,在我的代码中,我创建了一个 NFCIso7816Tag 实例,还创建了一个 NFCIso7816SendCompletionHandler 类型的 actionHandler 委托(delegate)。所以你的代码看起来像这样:

var tag = new NFCMiFareTag();
tag.SendCommand(new NFCIso7816Apdu(...), actionHandler);

最后,不要忘记使用较新的设备,因为您无法在旧设备上写入 NFC!

Here's a list of projects使用 CoreNFC,它可能会让您抢先了解如何自己实现它!


编辑 2020 年 5 月:

我写了一篇文章来解释 How to get started with NFC on iOS and Android apps using Xamarin Forms还创造了this video . Xamarin 表单有一个很棒的 nuget 包,称为 Plugin.NFC,它还允许您也使用 iOS 编写标签

关于ios - Xamarin.iOS 写入 NFC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58872276/

相关文章:

ios - FBSDKGraphRequest : result - Value of optional type 'Any?' not unwrapped; did you mean to use '!' or '?' ?

javascript - NativeScript iOS

ios - Alamofire 请求在慢速连接时使我的应用程序崩溃

c# - 使用 HockeyApp Preseason nuget 包注册 Xamarin Android 项目 OnPrepareOptionsMenu 错误

c# - Xamarin 删除 TableSection 顶部边框

c# - 如何通过单击 xamarin 表单中的按钮打开网页

macos - 将 Xamarin.Forms macOS 项目添加到电脑上的解决方案

ios - 有什么可能的方法来获取来电或去电号码以及所有日志详细信息?

c# - 如何组织我的 Xamarin.Forms 解决方案?

xamarin - 如何在 Xamarin.Forms 中滚动回到顶部