Zagadnienie czasu dla aplikacji Bluetooth LE dla Iphone 4s

Używam szkieletu core-bluetooth dla mojej aplikacji w Iphone-4s.
Zazwyczaj musi to być aplikacja działająca w tle, która może działać jak najdłużej.

Teraz działa tylko przez 40 minut - maks. 1 godzina.

Mam nadzieję na co najmniej 1 dzień.

W tym celu wartość „bluetooth-central” jest dodawana w kluczu „Wymagane tryby tła” w pliku .plist.

Wygląda na to, że moja aplikacja przejdzie w tryb „zawieszenia”. ponieważ po ponownym otwarciu aplikacji (stan tła do pierwszego planu) wysyła powiadomienie ponownie, co oznacza, że ​​połączenie bluetooth jest nadal połączone i urządzenie BLE nadal wysyła powiadomienie. Jeśli naciśniesz przycisk home, a aplikacja dojdzie do tła, nie otrzyma powiadomienia ponownie.

Czy ktoś może mi powiedzieć, dlaczego moja aplikacja działa w trybie tła tylko przez 1 godzinę. Powinien nadal działać jak zwykła aplikacja muzyczna w tle na zawsze.

Czy Apple mówi coś konkretnego na temat warunku, w którym aplikacja działająca w tle (która jest jedną z tych ciągłych aplikacji działających w tle wchodzących w skład 5 kategorii) nie powiedzie się i przejdzie w tryb zawieszenia?

Referring ”iPhoneAppProgrammingGuide„, na”Communicating with a Bluetooth Accessory„Sekcja dowiaduję się, że przy długotrwałym działaniu w tle dla aplikacji Bluetooth LE 2 implementacje są niezbędne:

1) Klucz UIBackgroundModes powinien być „bluetooth-central”Info.plist plik. 2) Każda aplikacja obsługująca przetwarzanie danych Bluetooth w tle musi być oparta na sesji.

Tak więc dla mojej aplikacji została wdrożona PIERWSZA implementacja i dzięki niej aplikacja może działać w tle i wykonywać wszystkie zadania przez maksymalnie 1 godzinę.

Teraz muszę wdrożyć drugą implementację. tj. oparte na sesji. Który pozwoli uzyskać zdarzenia, nawet jeśli aplikacja jest w stanie „zawieszenia” zgodnie z dokumentacją. Próbowałem znaleźć odpowiednią sesję specyficzną dla Bluetooth LE (Core Bluetooth framework), taką jak „EASession„prezent dla Classic Bluetooth (External Accessory framework), ale go nie znalazłem.

Zasadniczo nie jestem pewien, której klasy sesji potrzebuję do celów BLE. Dla akcesoriów audio / wideo, sieciowych i internetowych, dostępne są indywidualne klasy sesji. Brak szkieletu Core Bluetooth.

Czy ktoś może mi pomóc, która klasa sesji jest odpowiednia dla BLE.

questionAnswers(1)

yourAnswerToTheQuestion