Ios外部附件蓝牙问题

Ios外部附件蓝牙问题,ios,bluetooth,external-accessory,bluecove,eaaccessory,Ios,Bluetooth,External Accessory,Bluecove,Eaaccessory,我在为我的ipod运行外部配件时遇到了一些困难 我的电脑(mac,Mountain Lion)上有一个bluecove蓝牙监听器,使用java(这里的代码:),我已经成功地将我的ipod与我的电脑配对。但是,当我列出ipod列表时: [[EAAccessoryManager sharedAccessoryManager] connectedAccessories]; 我除了蟋蟀什么也得不到。我假设这是因为我没有在info.plist中设置任何有效的附件——但问题是,我不知道应该输入什么 有人知

我在为我的ipod运行外部配件时遇到了一些困难

我的电脑(mac,Mountain Lion)上有一个bluecove蓝牙监听器,使用java(这里的代码:),我已经成功地将我的ipod与我的电脑配对。但是,当我列出ipod列表时:

[[EAAccessoryManager sharedAccessoryManager] connectedAccessories];
我除了蟋蟀什么也得不到。我假设这是因为我没有在info.plist中设置任何有效的附件——但问题是,我不知道应该输入什么

有人知道为什么我无法通过EAAccessoryManager找到我的计算机吗?有人知道什么是有效的协议吗?我找不到关于作为协议实际编写内容的文档

另外,作为该项目的早期部分,我试图通过lejos将我的计算机与NXT配对,但我遇到了以下问题:

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

另外,我用来打印附件列表的代码:注意,它还没有返回任何内容,也没有使用protocolString

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

此外,这是我的信息的屏幕截图。Plist:


我不知道你的目标是什么,将iPod连接到电脑,但如果你只是想在iOS和电脑之间更改一些信息,那么“你好”是一种简单而有趣的方法。使用bonjour,您有一些优势,比如连接到Windows PC甚至Android设备

如果你有/想要使用蓝牙,这将是一项困难的工作,因为iOS ExternalAccessory framework只适用于符合MFi的附件,就像@Brad Larson所说的那样。蓝牙LE是一个选项,如果你的电脑支持蓝牙LE,那么你的iPod也支持蓝牙LE,但是蓝牙LE协议只支持少量的数据传输,你必须将数据分成小块在设备之间发送和接收,自己配对并记住配对的设备,等等,但这是对另一个问题的回答

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


希望它能有所帮助。

外部附件框架仅适用于符合MFi标准的附件,而不是通用配对蓝牙附件。我怀疑你能否用这个框架连接你的Mac和iOS设备。你好!在这种情况下,我应该使用什么连接iOS设备和Mac笔记本电脑?是否可以选择WiFi?如果是这样的话,Bonjour使设备发现变得简单。如果您的iOS设备和Mac支持蓝牙LE,您可以使用核心蓝牙在它们之间进行通信。我是这里的超级noob,所以请原谅我问了一些明显的问题:WiFi不是一个选项,除非我可以在没有路由器的情况下使用它——是否可以不通过路由器直接将两个WiFi设备连接到彼此?另一方面,蓝牙听起来很有趣,但我不知道如何判断我的iPodtouch是否支持蓝牙,更不用说我的电脑是否支持蓝牙了。你知道我怎么说吗?第五代iPod touch支持蓝牙LE,但旧款机型都不支持。iPhone4S和iPhone5也支持这一点。自2011年7月MacBook Air推出以来的每一款新Mac电脑(MacPro除外)都应该支持LE。在WiFi上,我所看到的唯一直接连接是iOS设备充当拴系代理,但这是可以做到的。
- (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;
}