我在为我的ipod运行ExternalAccessory时遇到了一些困难...
我在我的计算机上运行了一个蓝色蓝牙监听器(mac,Mountain Lion)(这里是代码:http://pastebin.com/j6Eu0H66),我已成功将我的ipod与我的计算机配对。但是,当我有我的ipod列表时:
[[EAAccessoryManager sharedAccessoryManager] connectedAccessories];
除了蟋蟀,我什么也得不到。我假设这是因为我没有在我的info.plist中设置任何有效的配件 - 但问题是,我不知道应该输入什么!
有没有人对我为什么无法通过EAAccessoryManager找到我的电脑有任何想法,有没有人知道什么归类为有效的协议?我找不到关于什么实际写作协议的文档。
P.S。作为这个项目的早期部分,我试图通过lejos将我的计算机与我的NXT配对,但我遇到了这个问题:
https://groups.google.com/forum/?fromgroups=#!topic/bluecove-users/7jWv1V1GC-4
结果,我在第一次使用hack后贴了几条评论,并用Lion IOBluetooth.framework替换了我的Mountain Lion IOBluetooth.framework。我不确定这是否会对iOS方面产生巨大影响,但我想我应该让你们知道。
P.S.S。我用来打印附件列表的代码:注意它还没有返回任何内容,也没有使用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的屏幕截图:
答案 0 :(得分:0)
我不知道您将iPod连接到计算机的目标是什么,但如果您只是想在iOS和计算机之间更改某些信息,那么Bonjour是一种简单而有趣的方式来完成这项工作。使用bonjour,您可以获得一些优势,例如连接到Windows PC甚至是Android设备。
如果您有/想要使用蓝牙,那将是一项艰巨的工作,因为iOS ExternalAccessory框架仅适用于符合MFi标准的配件,如@Brad Larson所说。蓝牙LE是一个选项,如果你的电脑支持它,所以你的iPod,但BLE协议只支持少量的数据传输,你将不得不剥夺你的数据小块在设备之间发送和接收,自己配对并记住配对设备等,但它是另一个问题的答案......
不幸的是,在你的情况下,我不认为bluethoot是一个不错的选择,但另一方面,你必须看看Bonjour,这也很容易使用。
希望它无论如何都有帮助。