【发布时间】:2012-10-31 19:07:13
【问题描述】:
我在为我的 ipod 运行 ExternalAccessory 时遇到一些困难...
我有一个 bluecove 蓝牙监听器在我的计算机(mac,Mountain Lion)上运行 java(代码:http://pastebin.com/j6Eu0H66),我已经成功地将我的 ipod 与我的计算机配对。但是,当我列出我的 ipod 列表时:
[[EAAccessoryManager sharedAccessoryManager] connectedAccessories];
除了蟋蟀,我什么也得不到。我假设这是因为我没有在 info.plist 中设置任何有效的附件——但问题是,我不知道我应该输入什么!
有人知道为什么我无法通过 EAAccessoryManager 找到我的计算机吗?有人知道什么是有效协议吗?我找不到关于实际写什么作为协议的文档。
附:作为这个项目的早期部分,我试图通过 lejos 将我的计算机与我的 NXT 配对,但是我遇到了这个问题:
https://groups.google.com/forum/?fromgroups=#!topic/bluecove-users/7jWv1V1GC-4
因此,我使用了在第一个之后发布了几个 cmets 的 hack,并将我的 Mountain Lion IOBluetooth.framework 替换为 Lion IOBluetooth.framework。我不确定这是否会对 iOS 方面产生巨大影响,但我想我应该让你们知道。
附言我用来打印附件列表的代码:注意它还没有返回任何东西,也没有使用protocolString。
我得到了“Testing123”日志,但没有得到“Device!”日志
- (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 的截图:
【问题讨论】:
-
外部附件框架仅适用于符合 MFi 标准的附件,不适用于通用配对蓝牙附件。我怀疑你能否使用这个框架连接你的 Mac 和 iOS 设备。
-
您好!在这种情况下,我应该使用什么来连接我的 iOS 设备和 Mac 笔记本电脑?
-
可以选择 WiFi 吗?如果是这样,Bonjour 可以轻松发现设备。如果您的 iOS 设备和 Mac 支持蓝牙 LE,您可以使用 Core Bluetooth 在它们之间进行通信。
-
我是这里的超级菜鸟,所以请原谅我问了一些明目张胆的问题:WiFi 不是一个选项,除非我可以在没有路由器的情况下使用它 -- 是否可以将两个 wifi 设备连接到不通过路由器直接互相连接?另一方面,蓝牙 LE 听起来很有趣,但我不知道如何判断我的 iPod Touch 是否支持它,更不用说我的电脑是否支持了。你知道我怎么知道吗?
-
第 5 代 iPod touch 支持蓝牙 LE,但旧型号都不支持。 iPhone 4S 和 iPhone 5 也支持此功能。自 2011 年 7 月 MacBook Air 以来的每台新 Mac(Mac Pro 除外)都应支持 LE。在 WiFi 上,我看到的唯一直接连接是 iOS 设备充当网络共享代理:github.com/tcurdt/iProxy/wiki,但可以做到。
标签: ios bluetooth external-accessory bluecove eaaccessory