我在为我的 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 的屏幕截图: