iOS外部配件框架,使用蓝牙连接iPod

时间:2017-11-01 12:46:21

标签: ios objective-c bluetooth external-accessory

我正在使用苹果的EADemo

https://developer.apple.com/library/content/samplecode/EADemo/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010079-Intro-DontLinkElementID_2

这基本上是外部附件框架演示代码

我的info.plist有

<key>UIBackgroundModes</key>
    <array>
        <string>audio</string>
        <string>bluetooth-central</string>
        <string>bluetooth-peripheral</string>
        <string>external-accessory</string>
        <string>fetch</string>
        <string>location</string>
        <string>newsstand-content</string>
        <string>remote-notification</string>
    </array>
    <key>UISupportedExternalAccessoryProtocols</key>
    <array>
        <string>com.apple.p1</string>
        <string>com.apple.p2</string>
    </array>

enter image description here 当我运行此代码时

_eaSessionController = [EADSessionController sharedController];
_accessoryList = [[NSMutableArray alloc] initWithArray:[[EAAccessoryManager sharedAccessoryManager] connectedAccessories]];

    if ([_accessoryList count] == 0) {
        [_noExternalAccessoriesPosterView setHidden:NO];
    } else {
        [_noExternalAccessoriesPosterView setHidden:YES];
    }

计数始终为0.我已将Mac Mini和iPod与我正在使用的设备配对,我相信这两个显然是MFi投诉。

我错过了什么?有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

好的经过大量研究后我发现了这一点。首先,苹果不会通过电缆或蓝牙作为附件连接iPod。

接下来,如果通过连接的任何附件,它将显示,但如果它不在Apple的MFi(Made for iOS)许可程序下,则无法与之通信,并且它是从iOS 10引发的。现在你怎么知道如果设备已经在MFi下,则为协议字符串。在这里,您需要联系供应商或制造商以获取协议字符串,因为它是敏感数据。