是否可以检测 iPhone 上的非 MFI 配件?

Posted

技术标签:

【中文标题】是否可以检测 iPhone 上的非 MFI 配件?【英文标题】:Is it possible to detect non-MFI accessories on the iPhone? 【发布时间】:2011-04-25 03:32:38 【问题描述】:

我意识到实际上不可能使用任何未经 MFI 认证的 iPhone 外部配件。有什么方法可以简单地检测连接吗?我想做的就是从 USB 驱动器获取序列号。

到目前为止,我已经尝试了以下方法

- (void)pollAccessories 
    statusText.text = [NSString stringWithFormat:@"%@%@", statusText.text, @"\r\nPolling Accessories..."];

    NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager] connectedAccessories];

    for (EAAccessory *obj in accessories)
        statusText.text = [NSString stringWithFormat:@"%@%@", statusText.text, @"\r\nLocated Accessory"];
        if(obj.connected)
            statusText.text = [NSString stringWithFormat:@"%@%@", statusText.text, @"\r\nConnected\r\n"];
    

似乎在模拟器中工作(我得到了两个“连接”的配件)。在我的手机上运行它,连接到 PC 和我的 PS3,没有任何乐趣。不幸的是,我手头没有合适的加密狗来测试合适的 USB 驱动器。

2011 年 4 月 27 日更新:

我设法在 iHome 收音机上测试了我的代码。它确实检测到连接,因此代码正在运行。我已经订购了一个 USB 加密狗,看看我是否可以检测到拇指驱动器。

【问题讨论】:

【参考方案1】:

我拿到了一个 USB 加密狗,遗憾的是操作系统没有提供与非 MFI 设备连接的指示。如果没有某种经过 MFI 认证的中间加密狗,这是不可能的。

【讨论】:

如何检测到 iPhone 的非 MFI 注册配件 据我所知,目前这是不可能的。如果设备未通过 MFI 认证,则操作系统不会给出已连接设备的指示。您唯一的选择是进入 MFI 计划,然后设计和制造您自己的 MFI 设备(这对我们大多数人来说不是一个选择)。

以上是关于是否可以检测 iPhone 上的非 MFI 配件?的主要内容,如果未能解决你的问题,请参考以下文章

用于检测其他 iPhone 或 iMac 的 iOS 外部附件框架

iOS 应用程序可以通过 WiFi 与 MFi 配件通信吗?

如果苹果手机充电显示不支持此配件怎么办

iPhone 4 BLE 使用核心蓝牙 4.0

CoreBluetooth 和 MFi

我可以一次将单个 MFI 配件与两个应用程序连接吗