我们有一个可绑定的(当我们连接时,我们被要求配对,请参阅问题2)我们制造并编写了iOS应用程序的蓝牙4.0外围设备.
在具有CoreBluetooth的iOS 6中是否可以从我们的应用程序中删除iOS蓝牙设置中的外围设备,或仅限于进入iOS设置/蓝牙/我们的外围设备和"忘记此设备".
我们要做的是当我们从应用程序中删除外围设备时,我们希望此外围设备也可以从iOS蓝牙列表中删除.
我的第二个问题是,iOS SDK是否提供了一种方法来确定用户是否在配对请求警报中选择了"配对"或"取消"?截至目前,我们通过在连接设备时读取我们的服务/特征来确定用户按下的对.

当我正在开发运行BlueTooth应用程序时,我偶尔会在控制台上收到消息"CoreBluetooth [WARNING] Unknown error:1309".即使消息声明它是一个警告,它也会停止执行应用程序.我已经能够通过关闭蓝牙设置然后重新打开来解决这个问题.任何人都可以告诉我是什么导致这个以及我应该做些什么来避免它?
我有一个应用需要检测运行相同应用程序和iOS 7.1的附近(蓝牙LE范围内)设备.我考虑了两种检测方法:
看来选项1是不可能的,因为:
方案2似乎要走了,但实施方面存在一些困难:
关于这一点,我有以下问题:
在参考 Dennis Mathews时,你如何在iOS上指定蓝牙经典而不是LE?Core Bluetooth Framework有不同的api 吗?
在使用信标(iOS设备)进行测试时,我发现侦听器信标会发出一些意外行为.locationManager:即使信标进入某个区域,也不会调用didEnterRegion方法.但是locationManager:didRangeBeacons:inRegion:被正确调用,并在那里显示检测到的信标.有没有人经历过这样的事情.
众所周知,iOS 6支持运行设备(iPhone 4s及更高版本,以及新iPad)作为BLE外设.WWDC 2012 Session 705中有一个名为"高级核心蓝牙"的演示.我问过Apple的源代码.他们发给我一个修改后的源代码版本(BTLE_Transfer_Draft).然后我:
问题是外围设备从未被发现过.所以我使用其他测试应用程序,包括从App Store下载的一些.所有人都未能发现外围设备.我认为问题应该在BTLE_Transfer_Draft中.因为我不确定是否允许我提供整个源代码.所以我只在这里展示"外围模式"部分:
- (void)viewDidLoad {
    [super viewDidLoad];
    // Start up the CBPeripheralManager
    _peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil];
}
- (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral {
    // Opt out from any other state
    if (peripheral.state != CBPeripheralManagerStatePoweredOn) {
        return;
    }
    // We're in CBPeripheralManagerStatePoweredOn state...
    NSLog(@"self.peripheralManager powered on.");
    // ... so build our service.
    // Start with the CBMutableCharacteristic
    self.transferCharacteristic = [[CBMutableCharacteristic alloc] initWithType:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]
                                                                  properties:CBCharacteristicPropertyNotify
                                                                       value:nil
                                                                 permissions:CBAttributePermissionsReadable];
    // Then the service …使用带有CoreBluetooth的BLE(没有iBeacon),有没有办法在设备收到蓝牙信号时唤醒应用程序未运行的应用程序?
我正在使用redbearlab的BLE Shield(http://redbearlab.com/bleshield/)模拟一个灯塔.
谢谢,DAN
*更新03/05/14*
看起来苹果已经推出了iOS 7.1的主要更新:现在,如果iOS检测到与您的应用匹配的UUID,它将为您打开应用.该应用程序只需要安装,它不必运行(AppDelegate中的逻辑需要响应唤醒呼叫).
ios core-bluetooth bluetooth-lowenergy cbcentralmanager ibeacon
在我完成与蓝牙设备的断开连接后,看到他们已经在didDisconnectPeripheral委托中断开连接,我试图解除我的viewcontroller.
当发生这种情况时,我看到消息:"[CoreBlueooth] XPC连接无效"
是否有特定的东西必须在视频控制器被解除之前用蓝牙清理?
好吧,我正在开发一个有趣的项目,我需要为我的iOS应用程序启用蓝牙音频支持.
我遇到的障碍是我甚至无法开始获得连接的蓝牙音频设备列表.即使我的iPhone 5S识别我的耳机(准确地说是一个~3 - 4岁的LG HBM-230)并通过它播放音频进行电话呼叫,但当我查询两者时,BOTH External Accessory和CoreBluetooth都没有给我任何帮助.
我将我自己的代码基于我发现的CoreBluetooth和External Accessory框架的问题和答案.
当我的代码只是试图" scanForPeripheralsWithServices:nil" 设置 - >蓝牙说的任何蓝牙设备可见并连接时,下面的代码只是CBCentralManagerStatePoweredOn在控制台中的" "消息之外不会出现一次命中.  
我的代码中的这一行(带有有效的EAAccessoryManager实例)
NSArray * connectedDevices = [self.eAAccessoryManager connectedAccessories];
还带有一个nil数组.
我能做错什么?
顺便说一下,我已将此代码作为GitHub项目提供.
@implementation BluetoothManager
+ (BluetoothManager *)sharedInstance
{
    static dispatch_once_t pred = 0;
    __strong static id _bluetoothMGR = nil;
    dispatch_once(&pred, ^{
        _bluetoothMGR = [[BluetoothManager alloc] init];
    });
    return _bluetoothMGR;
}
- (id)init
{
    self = [super init];
    if(self)
    {
        dispatch_queue_t …core-bluetooth ×10
ios ×9
objective-c ×4
bluetooth ×3
iphone ×3
audio ×2
ibeacon ×2
ios6 ×1
peripherals ×1