问题标签 [external-accessory]

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

iphone - 检测非 MFI 注册读卡器到 iPhone

我想创建一个应用程序,用于通过底座连接器与 iPhone 进行读卡器通信。但问题是我的读卡器配件不是 MFI 注册的。所以当我连接或断开设备时我无法收到任何通知所以请任何人告诉我如何连接或检测非 MFI 注册的配件到 iPhone

谢谢。

0 投票
1 回答
1887 浏览

ios - 外部附件命令协议

谁能告诉我外部附件根据附件固件中声明的协议和 iOS 应用程序代码的 info.plist 发送的命令字节的格式?我知道固件和应用程序代码中的协议名称和包标识符名称应该相同。

例如...

是用户按下外部附件上的按钮 A 时外部附件发送的命令字节。

谁定义了这些命令字节,制造商还是依赖于 iOS 应用程序开发人员?如果 aceessory 制造商不提供,iOS 开发人员是否可以根据协议名称了解这些命令字节?

0 投票
0 回答
1257 浏览

ios4 - 外部附件框架 EAAccessoryManager connectedAccessories 在 iOS 4.2 上只返回 1 个附件,而应该有更多

当使用 iPhone 3GS 在 iOS 4.2 上运行时,调用 EAAccessoryManager 上的 connectedAccessories 方法会返回一个列表,其中只有一个配件(似乎是从蓝牙屏幕中的可用连接配件中随机选择的)。

回想起来 - 在 iPhone 4 上的 iOS 5.0 上,该方法返回正确的附件列表(目前测试最多 2 个)。根据文档,iOS 4.0 应该返回一个附件列表,但是它没有提到这是否可以包含多个项目。(显然在 iOS 3.0 中只支持一台设备)。

在 iOS 4.0 上运行时,EAAccessoryDidConnectNotification 通知也只会针对随机选择的附件触发一次;禁用该附件会导致该附件的相应 EAAccessoryDidDisconnectNotification。如果不返回蓝牙设置菜单并重新连接设备,重新启用配件不会导致任何进一步的通知(但这是另一个烦人的问题)。访问蓝牙连接屏幕显示最初连接的附件没有断开连接,我的第二个附件已连接,但进一步调用“connectedAccessories”方法仍然返回一个空列表。

从手机查看控制台日志,我可以看到蓝牙系统连接并监控这两个设备,但在某个地方,这不是通过外部附件框架呈现的。

如果有人对这个问题有任何有用的信息,那就太好了——似乎只有少数 iOS 开发人员甚至使用过这个框架,所以除了原始苹果文档的副本之外,找到任何其他东西都是相当困难的 :-D .

总结一下:

是否可以从 iOS 检测多个配件并连接和打开多个设备的会话。我发现这在 iPhone 4 上的 iOS 5.0 中是可能的。

非常感谢,克里斯

0 投票
2 回答
2194 浏览

ios - iPhone EAAccessoryManager 返回一个空的 NSArray

我是新来的,我怀疑我遗漏了一些明显的东西,但是网络搜索和阅读苹果文档并没有帮助。我被困住了,所以就这样吧。

我有一个运行 IOS 4.2.10 的 iphone 4 并连接了三星 HM1100 蓝牙耳机。我确定它已连接,因为 iphone 常规设置是这样说的,当我按下 HM1100 上的通话按钮时,iphone 会响应。我还不能升级到 IOS 5 和 CBCentralManager。HM1100 应该是 iphone4 兼容的(蓝牙版本 2.1+EDR)。

我的 iphone 应用正在导入 ExternalAccessory/ExternalAccessory.h

并且代码有以下几行

该代码在连接到 Macbook pro 上的 Xcode 4 调试器的 iphone 上成功编译并运行,并打印出一个空数组,如下所示。

我希望它至少返回EAAccessory数组中的一个对象。我一定做错了什么。

谢谢, ab

0 投票
3 回答
4042 浏览

ios - 外部附件框架测试硬件

我需要为使用 ExternalAccessory 框架与某些硬件通信的客户端编写应用程序,我在 Norman McEntire 的“外部附件编程练习”中读到,模拟器包含 2 个测试附件,但是当我运行 Apple 的 EADemo 示例应用程序时在模拟器上它说没有连接任何配件。有谁知道我可以如何模拟一个附件以便我可以学习框架,或者是否有一个便宜的硬件可以用来学习。提前致谢!

0 投票
0 回答
439 浏览

iphone - 如何将数据从我的 iPhone 应用程序流式传输到符合 MFi 的附件?

我有一个兼容 MFi 的设备,我需要从 iPhone 向其传输实时数据。我查看了 ExternalAccessory 框架和 EADSessionController 类。我可以通过将字节写入输出流来与我的 MFi 设备进行通信。

我面临的问题是,当我尝试将字节从我的 iPhone 应用程序连续流式传输到 MFi 设备时,字节被组合成可变大小的块并同时发送。相反,我需要立即将每个数据包发送到外部设备。

有没有办法推动流立即发送数据,而不是在这些块中聚合它?

0 投票
3 回答
2974 浏览

iphone - 使用苹果“外部附件框架”获取蓝牙设备的 MAC 地址

我有一个与 Apple 兼容的蓝牙设备。

现在,我正在尝试在应用程序中获取该设备的 MAC 地址。是否可以借助苹果的“外部附件框架”获取蓝牙设备的 MAC 地址?

我听说无法以正常方式获取 MAC 地址,但我不了解“外部附件框架”是否足以决定是否可以使用此框架。

0 投票
2 回答
1112 浏览

iphone - 如何使用外部附件设备在设备上播放音乐?

我正在对 iPhone 应用程序进行初步设计,以便我的应用程序通过蓝牙连接到非 iOS 免提设备或音乐系统并在其上播放歌曲。我们在 Apple 注册了 MFi 计划,正在等待确认。

如果可能的话,您能否提供一些指南来研究它?

0 投票
1 回答
1203 浏览

objective-c - EAAccessoryDe​​legate 中的 –accessoryDidDisconnect: 方法的目的是什么?

我一直在研究连接到硬件的 iOS 实现,因此,我不得不使用 External Accessory 框架。为了与设备交互,您需要有一个类来处理与EAAccessory对象的通信。为此,您必须使用EAAccessoryDelegate协议定义设备连接类。

EAAccessoryDelegate协议包含一种方法——

– accessoryDidDisconnect:(EAAccessory *)accessory.

苹果文档指出:

该协议定义了在关联对象断开连接EAAccessoryDelegate时接收通知的单一方法。EAAccessory此方法的实现是可选的。

当你实例化你的类时,你可以向NSNotificationCenter系统注册你自己的方法。当存在 Device Connect 或 Device Disconnect 事件时,您可以根据需要处理该事件。当 Device Disconnect 事件发生时,它的目的- accessoryDidDisconnect:就变得毫无意义,因为它为您的类提供了完全相同的功能和数据。

此外,我能找到的有关使用外部附件框架的示例提供了通过NSNotificationCenter订阅机制检测设备连接更改的示例。

话虽如此,该– accessoryDidDisconnect:方法从未真正使用过的意义何在?是的,它可以实现,但正如我所提到的,所有形式的文档都建议您通过NSNotificationCenter.

我知道这是一个挑剔的问题,但我很好奇。

0 投票
2 回答
4492 浏览

iphone - 从 iOS 应用程序中列出(并连接到)蓝牙设备

我有一个通过蓝牙广播数据的设备。它通过了 MFI 认证,并且我已经在 AppStore 上有一个使用外部附件框架与之通信的应用程序。

问题是我的应用程序假定设备已经配对。

有没有办法枚举所有此类设备,并允许用户选择(并因此配对)列表中的设备之一?