我报名参加了MFI程序的蓝牙设备。 我能够通过蓝牙配对的设备在iPhone设置,然后使用苹果的EADemo示例代码通过访问设备ExternalAccessory
框架。
不过,我想知道是否有可能在通过后台默默第一配对CoreBluetooth
,然后用ExternalAcessory
框架与设备进行通信?
我已经运行了一些实验与与配对后CoreBluetooth
的ExternalAcessory
框架没有显示出连接的设备。 这可能是因为CoreBluetooth opperates通过蓝牙低能量,并ExternalAccessory
也许opperates通过蓝牙经典。
尽管这样,这将是一个更好的用户体验,从一个应用程序内配对的设备,而不需要离开应用程序来访问设置。 如果有人已经在这种情况下,或有任何想法,请随时分享任何建议。
无需依靠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]; });
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]; }
- (void)_accessoryDidConnect:(NSNotification *)notification { EAAccessory *connectedAccessory = [[notification userInfo] objectForKey:EAAccessoryKey]; }
@ larromba-我希望你在找这个。
文章来源: Can you access a bluetooth device via the ExternalAccessory framework after pairing with CoreBluetooth?