0

我在为我的 ipod 运行 ExternalAccessory 时遇到了一些困难......

我有一个 bluecove 蓝牙监听器在我的计算机(mac,Mountain Lion)上运行 java (代码在这里:http://pastebin.com/j6Eu0H66),我已经成功地将我的 ipod 与我的计算机配对。但是,当我列出我的 ipod 列表时:

[[EAAccessoryManager sharedAccessoryManager] connectedAccessories];

我只得到蟋蟀。我假设这是因为我没有在 info.plist 中设置任何有效的附件——但问题是,我不知道我应该输入什么!

有没有人知道为什么我无法通过 EAAccessoryManager 找到我的计算机,有没有人知道什么归类为有效协议?我找不到关于实际写什么作为协议的文档。

PS 作为这个项目的早期部分,我试图通过 lejos 将我的计算机与我的 NXT 配对,但是我遇到了这个问题:

https://groups.google.com/forum/?fromgroups=#!topic/bluecove-users/7jWv1V1GC-4

结果,我使用 hack 在第一个评论之后发表了几条评论,并将我的 Mountain Lion IOBluetooth.framework 替换为 Lion IOBluetooth.framework。我不确定这是否会对 iOS 方面产生巨大影响,但我想我应该让你们知道。

PSS 我用来打印附件列表的代码:注意它还没有返回任何东西,也没有使用protocolString。

我得到了“Testing123”日志,但没有得到“设备!” 日志

- (EASession *)openSessionForProtocol:(NSString *)protocolString
{


    NSLog(@"Testing123");
    NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager]
                            connectedAccessories];
    EAAccessory *accessory = nil;
    EASession *session = nil;




    for (EAAccessory *obj in accessories)
    {
        NSLog(@"Device!");
        /*
        if ([[obj protocolStrings] containsObject:protocolString])
        {
            accessory = obj;
            break;
        }
         */
    }

    return NULL;
}

另外,这是我的 info.Plist 的屏幕截图:

在此处输入图像描述

4

1 回答 1

0

我不知道您将 iPod 连接到计算机的目标是什么,但如果您只是想在 iOS 和计算机之间更改一些信息,Bonjour 是一种简单且非常有趣的方式来完成这项工作。使用 bonjour,您可以获得一些优势,例如连接到 Windows PC 甚至 Android 设备。

如果您有/想要使用蓝牙,这将是一项艰巨的工作,因为 iOS ExternalAccessory 框架仅适用于符合 MFi 的配件,如 @Brad Larson 所说。蓝牙 LE 是一种选择,如果你的电脑支持它,你的 iPod 也支持,但 BLE 协议只支持少量数据传输,你必须将数据分成小块才能在设备之间发送和接收,配对并记住自己配对的设备等,但它是另一个问题的答案......

不幸的是,在你的情况下,我认为 bluethoot 不是一个好的选择,但另一方面,你必须看看 Bonjour,它也很容易使用。

无论如何,希望它有所帮助。

于 2014-10-21T05:59:12.367 回答