Connexion Bluetooth entre 2 appareils iOS

J'essaie Core Bluetooth cadre introduit dans l'iOS 5.0. Selon le nombre de threads (l'un des nombreux) sur StackOverflow lui-même:

  1. Core Bluetooth cadre peut être utilisé pour communiquer avec TOUT
    le matériel, qui a le Bluetooth Low Energy (4.0) prise en charge matérielle.
  2. Nous pouvons oublier Made For iPhone/iPod (IMF) du programme, si vous êtes
    l'aide de Base de la technologie Bluetooth.

J'ai un iPhone 5, iPhone 4S, Android de Google, la Nexus 7 avec moi, et je suis sûr qu'au moins les 2 premiers a le soutien matériel de BLE.

Ma Question est

Bien, j'ai essayé donnée ci-dessous de code sur mon iPhone 4S/iPhone 5, mais il n'a pas de numérisation et de trouver l'iPhone5/iPhone 4S assis à proximité. Je peux confirmer, que les deux appareils avaient bluetooth activé. Le délégué de la méthode didDiscoverPeripheral jamais appelé.
Quelles pourraient être les raisons? Ai-je raté quelque chose?

C'est mon code (démonté pour un petit projet de test).

ViewController.h

@interface ViewController:UIViewController<CBCentralManagerDelegate, CBPeripheralDelegate{
}
@property (strong, nonatomic) CBCentralManager *mCentralManager;
@end

ViewController.m

@implementation ViewController
@synthesize mCentralManager;

- (void)viewDidLoad{
    [super viewDidLoad];
    mCentralManager = [[CBCentralManager alloc]initWithDelegate:self queue:nil];
    [self scanForPeripherals];
}

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI {
    NSLog(@"Received periferal :%@",peripheral);
}

- (int) scanForPeripherals {
    if (self.mCentralManager.state != CBCentralManagerStatePoweredOn)
    {
        NSLog(@"self.mCentralManagerState : %d",self.mCentralManager.state);
        return -1;
    }
    //Getting here alright.. bluetooth is powered on.
    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], CBCentralManagerScanOptionAllowDuplicatesKey, nil];
    //Documentation says passind nil as device UUID, scans and finds every peripherals
    [self.mCentralManager scanForPeripheralsWithServices:nil options:options];
    return 0;
}
@end
Je vais travailler sur la BLE de nouveau dans quelques jours... je vais voir si je peux aider, alors si vous ne trouvez pas de solution pour le moment.
Je ne sais rien à propos de l'iPhone, mais la façon dont BLE œuvres, l'un des appareils de diffusion alors que les autres on peut le découvrir. De sorte que vous aurait besoin de deux morceaux de code...
hmm.. après la publication de cette question, j'en suis venu à comprendre.. Maintenant des recherches sur elle.. Semble que ma compréhension de la communication bluetooth est d'amateur.. Il ne semble pas plus facile.. nouveau rien j'ai trouver..

OriginalL'auteur Krishnabhadra | 2012-12-13