Was passiert, wenn zwei Apps die gleiche iBeacon-Region überwachen?

8

Seit iOS7.1 können iBeacon-Regionen überwacht werden, ohne dass die App im Vordergrund oder Hintergrund geöffnet ist. Während dies eher eine Laborsituation als ein echtes Weltproblem ist, habe ich mich gefragt, was passiert, wenn zwei iOS-Apps sich registrieren, um die selbe iBeacon-Region im Hintergrund zu überwachen. Nehmen wir an, dass beide Apps eine lokale Benachrichtigung auslösen, wenn eine bestimmte Region eingegeben wird ...

Gibt es in diesem Fall ein erwartetes / dokumentiertes Verhalten? Z.B. 1) beide Apps werden ausgelöst? 2) nur die letzte App, die registriert wurde, wird ausgelöst? 3) usw.

    
theremin 22.05.2014, 11:49
quelle

5 Antworten

8

Beide Apps werden ausgelöst. Ich glaube nicht, dass dies explizit in Apple-Dokumenten steht, aber alle Apps sind sandboxed und sollten sich unabhängig verhalten, es sei denn, die Dokumentation sagt etwas anderes.

Ich kann bestätigen, dass dies aus Erfahrung heraus funktioniert, weil mein Unternehmen viele iBeacon-Apps erstellt und sie ursprünglich so erstellt wurden, dass sie die gleichen UUID / major / minor für die Beacons von Radius Networks verwenden. Wenn ich also in der Nähe eines dieser Beacons mein iPhone einschalte, erhalte ich mehrere Benachrichtigungen, eine für jede App, die für dieselbe Region überwacht.

    
davidgyoung 22.05.2014, 12:27
quelle
3

Beide App wird ausgelöst. Ich habe einige Beacons in meinem Haus, wenn ich Bluetooth nicht abstelle, wenn ich eintrete oder verlasse, erhalte ich eine Benachrichtigung für jede App, an der ich arbeite ...: p

    
mad_mask 22.05.2014 13:41
quelle
3

Ich kann bestätigen, was auch Alexander Vasenin gesagt hat. Ich habe es auf iOS 9.0.2 getestet.

Wenn es Ihre Situation erlaubt, können Sie dies "umgehen", indem Sie eine Ihrer Apps so einstellen, dass sie eine "strengere" Region verwenden, zum Beispiel:

  1. App: CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@"identifier"];

  2. App: CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid major:69 identifier:@"identifier"];

Nejc 06.10.2015 10:30
quelle
2

@Alexander Vasenin: Ich kann das bestätigen. Es scheint ein iOS 8.3-Problem zu geben, bei dem keine 2 Apps die SAME-Region überwachen können. In diesem Fall erhält nur eine App die Antworten.

    
woens 11.05.2015 11:18
quelle
1

Während im Allgemeinen die gleiche iBeacon-Region mit mehreren Apps überwacht, funktioniert das gut. Gestern haben wir Probleme damit bekommen. Zwei unserer Geräte weigerten sich, einen der folgenden Rückrufe aufzurufen:

%Vor%

während andere zwei fehlerlos funktionierten. Wir haben mehrere Stunden damit verbracht, herauszufinden, was falsch ist, aber das Problem wurde erst gelöst, nachdem wir die alte Proof-of-Concept-App gelöscht hatten, die dasselbe überwachte (oder fast das gleiche, ich bin mir nicht sicher über diese) iBeacon Region von beiden Geräten.

Interessanterweise habe ich auf meinem eigenen Gerät auch diese alte Proof-of-Concept-App und beide Apps funktionieren einwandfrei.

    
Alexander Vasenin 03.03.2015 18:01
quelle

Tags und Links