Personne ne semblait savoir, j'ai donc acheté un compte développeur iOS et a couru quelques expériences. Voici ce que j'ai trouvé:
Lors de l'exécution au premier plan, vous pouvez démarrer une numérisation à l'aide de CBCentralManager::scanForPeripheralsWithServices. Votre analyse peut être limitée à des dispositifs de publicité pour un service particulier, ou sans restriction (passage du néant pour que l'appel du paramètre). Il peut également autoriser ou interdire les doublons; dans le premier cas, vous obtiendrez un didDiscoverPeripheral de rappel à chaque fois que l'iPhone reçoit une publicité paquets; dans le second, vous obtiendrez seulement un rappel par appareil.
Lorsque vous entrez dans le fond, les règles semblent être comme suit:
- Si vous utilisiez une libre analyse, il sera silencieusement annulée. Vous n'obtiendrez pas tout didDiscover rappels.
- Si votre analyse a été restreinte (c'est à dire que vous avez spécifié un ou plusieurs Uuid de services que vous recherchez), votre analyse de continuer à fonctionner, mais la permettre les doublons drapeau sera ignoré. Cela signifie que vous ne obtenez didDiscoverPeripheral rappels pour les nouveaux appareils. Si tous les périphériques ont été observés alors que, dans le premier plan, vous n'aurez pas de rappels à tous.
- Le démarrage et l'arrêt de l'analyse ne permet pas de réinitialiser les appareils qui sont considérées comme nouvelles. Si il y a un périphérique présent, vous ne recevrez qu'un seul rappel, même à travers de multiples analyses, à moins que...
- Si vous vous connectez à un périphérique, puis débranchez, puis relancez la numérisation, l'appareil sera énuméré à nouveau (c'est à dire, vous obtiendrez un plus appel à didDiscoverPeripheral). Je suppose que iOS ce qui concerne que d'avoir "montré de l'intérêt" dans l'appareil.
Je ne sais pas si les tentatives de connexion à nonconnectable périphériques (par exemple, POUR les Annonceurs, comme ceux de la mise en œuvre de la proximité de profil) est assez bon comme mon exemple les appareils sont connectable. Cependant, au moins pour les appareils contrôlables, ce scan/se connecter/déconnecter/procédure de scan suffit d'interrogation pour un appareil de la présence à l'arrière-plan.
Les résultats ci-dessus ont été recueillies à l'aide d'un iPhone 4S sous iOS 5.0.1