我需要制作一个应用程序,能够判断我当前是否连接到经典蓝牙设备(实际上,它将是蓝牙汽车设备)。
我的第一步是了解当前连接的经典蓝牙设备是什么。我无法使用 CoreBluetooth,因为它仅适用于 LE。我尝试使用外部附件框架。
这是代码(一个按钮启动该方法):
- (IBAction)startMethodGetConnected:(id)sender {
NSLog(@"button taped");
// Get the number of accessories connected
NSUInteger NumberOfAccessoriesConnected = [[EAAccessoryManager sharedAccessoryManager].connectedAccessories count];
//Display the number
NSLog(@"number of accessories connected : %d", NumberOfAccessoriesConnected);
}
我尝试过将 iPhone 连接到蓝牙键盘和蓝牙耳机。在这两种情况下,控制台都会显示数字为 0。
如何显示正确的数字?
来自苹果文档:
“支持外部配件的应用程序必须确保
正确配置其 Info.plist 文件。具体来说,你必须
包括 the UI支持的外部附件协议声明的关键
您的应用程序支持的特定硬件协议。了解更多
有关此框架的信息,请参阅外部附件编程
主题。”here https://developer.apple.com/library/prerelease/ios/documentation/ExternalAccessory/Reference/ExternalAccessoryFrameworkReference/index.html
您需要使用 MFi 设备的协议将此密钥添加到您的 Info.plist 文件中。
<key>UISupportedExternalAccessoryProtocols</key>
<array>
<string>your_protocol_name</string>
</array>
Regards
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)