与CoreBluetooth配对后,您可以通过ExternalAccessory框架访问蓝牙设备吗?

时间:2016-09-21 08:45:53

标签: ios bluetooth-lowenergy core-bluetooth external-accessory mfi

我在MFi计划中注册了蓝牙设备。我可以在iPhone设置中通过蓝牙配对设备,然后使用 Apple的EADemo 示例代码通过ExternalAccessory框架访问设备。

但是,我想知道是否可以通过CoreBluetooth在后​​台首先默默配对,然后使用ExternalAcessory框架与设备通信?

我运行了一些体验,在与CoreBluetooth配对后,ExternalAcessory框架显示没有连接的设备。这可能是因为CoreBluetooth通过蓝牙低功耗进行操作,ExternalAccessory也许可以通过蓝牙经典进行操作。

尽管如此,在应用程序中配对设备将是一种更好的用户体验,而不是需要离开应用程序来访问设置。如果有人遇到过这种情况,或有任何想法,请随时分享任何建议。

1 个答案:

答案 0 :(得分:0)

如果您正在使用CoreBluetooth,则无需依赖ExternalAcessory框架 double delayInSeconds = 2; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ [[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:nil completion:nil]; });

只需单击一个按钮或任何您想要的代码,此代码将弹出一个窗口,显示可用的MFI程序设备列表,您需要选择该设备并将其连接。

成功连接后,您将收到通知EAAccessoryDidConnectNotification,您需要收听此消息并且您可以使用连接配件 - (void)_accessoryDidConnect:(NSNotification *)notification { EAAccessory *connectedAccessory = [[notification userInfo] objectForKey:EAAccessoryKey]; }

@ larromba-我希望你在寻找这个。