【问题标题】:What hardware attributes can iOS device detect or obtain when connected to an MFI hardware?连接到 MFI 硬件时,iOS 设备可以检测或获取哪些硬件属性?
【发布时间】:2012-08-15 23:11:03
【问题描述】:

我正在为一个项目处理外部附件和 MFI 并且有这个问题:

将 iOS 设备连接到 MFI 硬件后,可以识别哪些 3rd 方硬件属性(如果有)?具体来说,我正在寻找一种通用的方法来确定设备类或功能,而不必检查特定的制造商和设备名称,类似于 Android 可以做到的方式(见下文)。这可能吗?

http://developer.android.com/reference/android/bluetooth/BluetoothClass.Device.html

最终目标:连接到音频基座时切换布尔值;忽略其他事件。我不确定 iOS 能做到多细。 iOS 可以区分 audio dockGolf Putter App Cradle 吗? MFi 是否可以洞察设备的功能?

我的目标是 iOS 4.2+。

【问题讨论】:

    标签: ios mfi external-accessory


    【解决方案1】:

    您可以通过EAAccessoryManagerclass(通过registerForLocalNotificationsmethod)请求获取通知。为此,您需要将ExternalAccessory.framework 添加到您的项目中。

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_accessoryDidDisconnect:) name:EAAccessoryDidDisconnectNotification object:nil];
    [[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications];
    

    添加硬件后,您会收到带有EAAccessoryKey 的通知,然后可以使用它从附件管理器中获得EAAccessory

    - (void)_accessoryDidConnect:(NSNotification *)notification {
          EAAccessory *accessory = [[notification userInfo] objectForKey:EAAccessoryKey];
    

    配件有许多属性可以帮助识别已连接的硬件类型:

    NSString* name  
    NSString* manufacturer  
    NSString* modelNumber  
    NSString* serialNumber  
    NSString* firmwareRevision  
    NSString* hardwareRevision  
    NSArray* protocolStrings
    

    我不知道您的音频基座在这里提供什么,但应该很容易尝试并希望它对所有设备都是一致的 :-)

    如果您对特定设备不感兴趣,但对一类设备(具有特定行为)感兴趣,protocolStrings 应该很有用。该数组由命名协议的字符串组成(在行为意义上,而不是在 ObjectiveC 意义上)。名称被格式化为反向 DNS 字符串 (com.mycompany.myprotocol)。

    如果您在应用的Info.plist 文件的UISupportedExternalAccessoryProtocols 部分(类型:字符串数组)中提供一个或多个此类协议名称,则如果连接了正确的设备,您的应用就会启动。

    【讨论】:

    • 谢谢 - 我知道这个信息,但我想要一种更通用的方法来获取设备类,因为检查你拥有的特定信息非常费力而且不实用。我正在寻找类似于 Android 可以在这里做的事情:developer.android.com/reference/android/bluetooth/…
    • 向马蒂亚斯提供奖金,因为没有更多的答案,他很在乎,可以发布详细的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    • 2016-12-26
    相关资源
    最近更新 更多