2017-08-24 13 views
5

Aktualnie pracuję nad aplikacją, która uruchamia lokalne powiadomienia o wschodzie i zachodzie słońca (które różnią się codziennie, więc nie można użyć alarmu). Dodatkowo potrzebuję tej funkcji w trybie offline.Wdrażaj logikę dla wielu powiadomień lokalnych codziennie w różnym czasie w iOS

Ja już próbowałem:

  • Rejestracja lata całe powiadomienia naraz, ale to nie działa z powodu ograniczeń powiadomień granicznych
  • Rejestracja następne zgłoszenie o wypadku wyzwalania bieżącego zgłoszenia, ale tej logiki, gdy nie powiedzie się powiadomienie nie uruchamia się, gdy urządzenie jest wyłączone.

Każda pomoc zostanie doceniona. :)

Odpowiedz

0

Proszę odnieść się do tego stackoverflow post o interfejsie API, którego można użyć do odbierania połączeń zwrotnych w czasie w stosunku do wschodu/zachodu słońca. Ta odpowiedź wyjaśnia, jak korzystać z interfejsu API.

To pytanie różni się nieco od tego drugiego, dlatego nie zaznaczam duplikatu. Rzeczą, którą należy dodać, jest to, że nie będzie konieczne wstępne obliczanie czasu wschodu/zestawu przez dłuższy czas i rejestrowanie grup alarmów. Oprócz nieeleganckiego rozwiązania preompompute nie będzie działać na urządzeniach mobilnych, ponieważ ustawienie wschodu/zachodu zależy od lokalizacji urządzenia, a użytkownik nie może wiedzieć, gdzie znajduje się urządzenie przez dłuższy czas w przyszłości.

Z sugerowanym Awareness API, konkretnie TimeFence.aroundTimeInstant(), automatycznie otrzymasz wywołanie zwrotne w pewnym określonym przesunięciu od wschodu/zestawu i możesz wyrejestrować się z interfejsu API w dowolnym momencie, aby przestać je odbierać.

+1

Dzięki za odpowiedź, Znalazłem już rozwiązanie dla Androida za pomocą usług w tle. Ten interfejs API działa dobrze, ale nie jest dostępny w systemie iOS. Jakieś alternatywne rozwiązanie dla systemu iOS? – ishaqbhojani

+0

Uruchomienie usługi w tle dla aplikacji nie będzie już działało w Twojej aplikacji ze względu na [ograniczenia tła] (https://developer.android.com/about/versions/oreo/background.html) od [Android Oreo] (https) : //developer.android.com/about/versions/oreo/android-8.0.html). Być może użycie tego lub innego interfejsu API pozwoli zaoszczędzić czas na późniejsze migracje. – MRC

+1

OK, użyję tego API dla Androida, ale nie jest to możliwe w przypadku iOS. Co powinienem zrobić na iOS? – ishaqbhojani

Powiązane problemy