iOS: app di sfondo Bluetooth LE

0

Soffro severamente di iOS (presumibilmente) uccidendo le mie app tutto il tempo anche se non le uccido. Sono anche elencati nel task manager (doppio tocco su home).

Questo è particolarmente negativo per almeno due delle mie app:

  1. HID Mobile Access (sistema keyless entry)
  2. Noke (blocco tasti Bluetooth)

Per il primo, tutto ciò che dovrebbe essere necessario è scuotere il telefono. Quindi il lettore di schede dovrebbe attivarsi e aprire la porta. Per quest'ultimo, dovrebbe essere premuto solo il grillo del blocco del pad e dovrebbe sbloccarsi automaticamente se il telefono è nelle vicinanze (cioè, nella mia tasca).

BOTH non funziona quasi mai, rendendoli quasi inutili (se ho bisogno di scavare nella mia borsa per trovare il telefono posso anche scavare per la chiave o la carta RFID).

Entrambi funzionano quando avvii manualmente l'app (e poco dopo), ma poi casualmente fallisco di nuovo dopo un po 'di tempo.

Entrambe le app hanno un'opzione di aggiornamento dell'app in background che ho attivato.

Gli sviluppatori delle app sostengono che questa sarebbe una limitazione di iOS e la funzionalità non funzionerebbe. Mi piacerebbe che fosse audace pubblicizzare una funzionalità che non può nemmeno funzionare ...

L'aggiornamento delle app in background non dovrebbe consentire esattamente questo ... mantenere questo tipo di cose funzionanti?

Ho anche un Apple Watch e lì non ho mai avuto perdite o problemi di comunicazione.

In che modo l'aggiornamento dell'app in background funziona esattamente per Bluetooth LE? Esiste una funzione per cercare un dispositivo Bluetooth LE in background?

Gli sviluppatori di queste app si inventano solo delle scuse?

(Tile è un'altra applicazione Bluetooth LE con gli stessi problemi, tuttavia qui non mi preme troppo)

    
posta divB 08.08.2017 - 07:22
fonte

1 risposta

1

È davvero difficile riuscire a far funzionare questa funzionalità in modo affidabile, dato che iOS ha un meccanismo di risparmio energetico molto conservativo e gli sviluppatori non stanno facendo nulla.

Il problema è il seguente: mentre in realtà esiste un modo in cui Apps utilizza Bluetooth LE mentre è in background, è molto limitato. In genere, per connettersi a un dispositivo BLE come Noke, l'app deve scansionare per il dispositivo che pubblicizza è presenza. Solo dopo aver ricevuto una scansione, l'app può effettivamente connettersi al dispositivo. Un dispositivo emette una scansione utilizzando i servizi di sistema iOS e registra una richiamata , il che significa che il sistema operativo "chiama" / "attiva" l'app se viene rilevato un dispositivo per cui è stata eseguita la scansione.

Durante la scansione di un dispositivo, ci sono diversi parametri che possono essere regolati che influenzano l'intensità della potenza, ma anche la latenza quando si interagisce con BLE. In gerneal, devi bilanciare questi parametri per la migliore esperienza. In primo piano, la scansione e la connessione ai dispositivi è molto veloce su iOS, ma in background, iOS ignora alcune opzioni che gli sviluppatori possono configurare ma, soprattutto, riduce la frequenza della scansione che riduce notevolmente il consumo energetico, ma introduce anche molta latenza . iOS decide anche quando di inviare la richiamata all'app descritta sopra.

Ho fatto la scoperta che il risparmio energetico su iOS 11.1 è molto più aggressivo su iOS 10. Sono o dove si utilizza iOS 11 quando si sono verificati questi problemi?

Fonte: link

    
risposta data 01.11.2017 - 17:27
fonte

Leggi altre domande sui tag