MonoTouch:用于外部附件的 ESSession
Posted
技术标签:
【中文标题】MonoTouch:用于外部附件的 ESSession【英文标题】:MonoTouch: ESSession for external accessories 【发布时间】:2012-07-10 18:41:59 【问题描述】:我正在将代码从 Objective C 移植到 MonoTouch 以使用外部附件。这是超级基本的编码,但是当我创建 EASession 并尝试使用 InputStream 或 OutputStream 时,它们都是 NULL。我在 Objective-C 中使用过它,所以我知道这不应该发生。
我能够反复连接/断开设备并检测它。现在,由于这个空问题,我似乎无法从设备中读取数据。以下是我的编码:
session = new EASession(acc, "com.idtechproducts.reader");
session.OutputStream.Delegate = streamDel; // 说 OutputStream 为 null 时崩溃
session.OutputStream.Schedule (NSRunLoop.Current , "NSDefaultRunLoopMode");
session.OutputStream.Open();
【问题讨论】:
可能是“accessory”参数错误,还是协议字符串? 我知道 acc 是正确的,并且很确定我复制了协议,但我可以轻松地从 acc 本身获取它。我会稍微测试一下并更新。不过这很奇怪,我找不到在任何地方使用外部配件进行单点触控的单个示例 【参考方案1】:您需要列出您将在您的 Info.plist。
在苹果的网站上有一些关于此的文档: http://developer.apple.com/library/ios/#featuredarticles/ExternalAccessoryPT/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009502
下面是如何在 Info.plist 中设置这个值的截图: http://screencast.com/t/AYmOWjf8wkL
【讨论】:
上周做到了。它帮助解决了错误,但仍然无法获取数据。谢谢! 我最终只是调用了我构建的一个 Objective-C 类 Anthony,您能告诉我们您是如何解决问题的吗?通过任何更改,您是否在 Monotouch 中实现了 idtechproducts 的 iSmart SDK? (智能卡读卡器)。我正在努力使用 .a 来编译它;他给出了缺少 ARM7 方法的错误。 添加协议没有帮助以上是关于MonoTouch:用于外部附件的 ESSession的主要内容,如果未能解决你的问题,请参考以下文章
MonoTouch - 无法在包中加载 NIB:“NSBundle”
iOS 外部附件框架:如何获取特定 MFI 设备的协议字符串
用于 Mono、MonoTouch 和 ASP.NET MVC 的 ORM