Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

Problemy z synchronizacjż z aplikacjami


  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 sk4

sk4
  • 235 postów

Napisano 06 czerwca 2017 - 23:33

Cześć,

 

posiadam AW S2 i martwi mnie jedna kwestia, która przede wszystkim objawia się na następujących 3 kluczowych aplikacjach:

- Spark

- Fantastical

- Weather!

 

Mianowicie, o ile na Watch Face aktualizowane są tejże stany (a przynajmniej dla poczty i kalendarza), to BARDZO często zdarza się, że po kliknięciu na daną komplikacje, otwiera się dana aplikacja z danymi już nieaktualnymi (np. kelandarz sprzed 2 dni jeżeli nie wchodziłem do niego od tego czasu). Co gorsze zazwyczaj uaktualnienie tego stanu trwa kilka dobrych sekund, co praktycznie powoduje, że szybciej uzyskałbym stosowne informacje wyciągając telefon z kieszeni. Albo pogoda pokazuje mi dane dla miejsowości w której byłem kilka dni temu i muszę czegoś zanim kapnie się, że jestem gdzie indziej już (to dotyczy akurat produktu Yahoo!).

 

Czy to normalne? Da się coś z tym zrobić? Sprawdzałem Background App Refresh, zarówno w iP jak i AW niby wszystko włączone...



#2 sk4

sk4
  • 235 postów

Napisano 26 lipca 2017 - 11:37

Rozwinięcie z tematu: http://myapple.pl/fo...-powiadomienia/
 

 

Ten temat nieodświeżonego widoku aplikacji na zegarku po jej wywołaniu z komplikacji to kombinacja tego jak działa WatchOS i jak działa Fantastical.
 
Z jednej strony system zegarka zamraża aplikację gdy nie jest używana i po jej ponownym wywołaniu powinien przekazać aplikacji parametr z prośbą o odświeżenie widoku.
Z drugiej strony aplikacja po ponownym wywołaniu powinna sama, niezależnie czy otrzyma "alert od systemu" czy nie odświeżyć swój widok przynajmniej periodycznie.
Jakby nie było to jedyne co możesz zrobić to zgłosić temat do Apple przez stronę feedback i do twórcy Fantastical przez kontakt z ich supportem.
 
Coś co możesz zrobić samodzielnie to możesz dodać aplikację Fantastical do Docka na zegarku w aplikacji Watch na iPhone - te ustawienia autoodświeżania aplikacji w tle na zegarku  tyczą się jedynie aplikacji w doku i aplikacji którego komplikacja jest na aktywnej tarczy zegarka.


Przetestuję sprawę dodania do docka. Bo to odświeżenia po aktywacji aplikacji niestety trwa naprawdę za długo (zwłaszcza dla Spark). Podejrzewam, że jak w docku będę miał sporo aplikacji to wpłynie to mocno na baterię zegarka :(
Z drugiej strony stoi to w sprzeczności z faktem, że akurat dla wszystkich 3 appek (Fantastical2, Spark, Weather!) używam kompilacji na aktywnej tarczy. Zatem to powinno dziać się samoistnie, no nie?

Swoją drogą aplikacja Weather! właściwie stała się już zupełnie bezużyteczna. Od jakiegoś czasu kompilacja się nie odświeża (albo raz na dzień), a aktywacja appki na zegarku trwa w nieskończoność (pokazane jest logo Weather! i odświeżanie, które nigdy nie dochodzi do końca).
Dziwne, nie ma nic o tym na Internecie, albo nie umiem szukać, a przecież znaczyłoby to że appka jest nieużywalna i powinno trochę osób o tym poinformować, nie?

#3 imrik

imrik
  • 3 471 postów
  • SkądWrocław, Poland

Napisano 26 lipca 2017 - 12:50

Tak, powinno się to dziać samoistnie dla aplikacji których komplikacja znajduje się na aktywnie używanej tarczy zegarka. Z oczywistych względów nie działa to tak ładnie w sytuacji gdy często zmieniamy tarcze z różnymi komplikacjami.

 

Dodatkowo należy pamiętać, że odświeżanie aplikacji w tle to pojęcie nieco mylące bo chodzi o odświeżanie *danych* tych aplikacji, a nie samych appek jako takich. Gdy appka się ładuje to i tak musi zaczytać świeże dane i odświeżyć widok. Nieco wyjątkowy jest Dock i dużo bliższy temu co można potocznie zrozumieć pod pojęciem appki działającej w tle. Dlatego wcześniej pisałem, że tak na prawdę w praktyce ustawienie odświezanie w tle tyczy się appek w Dock.

 

Mogę się mylić, ale z tego co rozumiem po prezentacjach i dokumentacji Apple, jak i z własnego doświadczenia i szkoleń to ogólnie i w dużym uproszczeniu działa to tak jak opisuję poniżej.

- Zegarek zamraża appkę gdy nie jest używana. (czyli właściwie zawsze wszystko jest zamrożone i pewnym wyjątkiem są aplikacje w docku)

- Gdy appka jest wywoływana, zaczytuje zawartość pamięci (aby nie uruchomić się od zera), wysyła żądanie do iOS o najnowszy zbiór danych, iOS przetwarza żądanie, przekazuje do aplikacji, ta to obsługuje swoją "logiką" i przekazuje iOS paczkę z odpowiedzią która jest dopiero przekazywana partnerskiej appce na zegarku. Appka na zegarku odczytuje dane i odświeża widok.

Dlatego to tyle trwa. Nie chodzi o słabą moc obliczeniową tylko o to, że większość logiki aplikacji odbywa się na telefonie i w międzyczasie jest sporo komunikacji.

- Appka na telefonie może zlecić do iOS odświeżenie treści partnerskiej appki na zegarku aby maksymalnie skrócić czas wywołania partnerskiej appki na samym zegarku wycinając połowę komunikacji jaka normalnie by zaszła. Założenie jest takie, że taka partnerska appka ma już komplet najświeższych danych.

- iOS kolejkuje te zlecenia i wysyła zaktualizowane treści do partnerskich appek na zegarku periodycznie lub dynamicznie.

- Periodycznie to znaczy samodzielnie co jakiś czas. Zero kontroli. Telefon stara się przewidzieć kiedy będzie dobry moment w oparciu o szereg czynników którymi Apple się nie dzieli z opinią publiczną.

- Dynamicznie to znaczy gdy uniesiesz rękę z zegarkiem, na przykład po to by komplikacja miała aktualny zestaw danych lub gdy odpalasz appkę na telefonie lub w momencie gdy uruchamia się daną appkę na telefonie czy zegarku.

 

Dock to jedyne miejsce w zegarku gdzie aplikacje faktycznie NIE są zamrożone, a jedynie wstrzymywane i to też pod warunkiem, że nie ma innej opcji i trzeba zwolnić zasoby dla aktualnie pracującego wątku. Pomysł jest taki by często wysyłać do nich najświeższe dane i by mogły wykonywać na tych danych prostą logikę aplikacji w tle.

 

Komplikacja natomiast to taki fragment partnerskiej appki która ma za zadanie wyświetlać jedną rzecz i tyle. Nie ma mowy o jakiejkolwiek logice na danych w tle czy coś, więc appka jak najbardziej może być zamrożona a jej komplikacja mimo wszystko wyświetlać aktualne dane z telefonu.

 

Dlatego właśnie aby to w miarę elegancko działało to programy które chcemy by zawsze były aktualne muszą być dodane do Dock i dlatego aplikacja którą dodamy do komplikacji (a nie ma jej w Dock) uruchamia się szybciej niż taka której w ogóle nie ma ani w Dock ani w komplikacji i uruchamiamy ją raz na ruski rok.


Użytkownik imrik edytował ten post 26 lipca 2017 - 12:51


#4 sk4

sk4
  • 235 postów

Napisano 02 sierpnia 2017 - 13:50

Dzięki wielkie za tą wypowiedź. Nie odpisywałem od razu, bo stwierdziłem że najpierw muszę zweryfikować działanie.
Rzeczywiście jest tak jak piszesz, dodam że w Docku można mieć maksymalnie 10 aplikacji.

Po wrzuceniu do docka Fantastical - działa idealnie, nie mam zastrzeżeń.

Spark także dostał dodatkowych mocy, chociaż przy okazji znalazłem chyba bug, który wcześniej przy okazji problemów z synchronizacją, mógł się z nią pomylić.
Otóż na głównym ekranie mamy 3 smart foldery (Personal, News itd.) oraz Inbox jako zbiorczy.
O ile na głównym ekranie liczniki działają poprawnie (np. Personal - 2 nieprzeczytane wiadomości, News - 1 nieprzeczytane, a zatem w Inbox jest oznaczone że są 3 nieprzeczytane wiadomości).
Wejście w Personal czy News - pokazuje mi listę nieprzeczytanych wiadomości. Wszystko chyba działa poprawnie. Ale jak wejdziemy do Inbox (gdzie miały być 3 nieprzeczytane wiadomości z folderów Personal/News) to tych wiadomości tam nie ma. Jest tylko lista wiadomości o statusie przeczytanym, które nie zostały jeszcze zarchiwizowane.
I to chyba jest bug, bo w Inbox powinny być wszystkie wiadomości nieprzeczytane (w końcu licznik pokazuję ich liczbę) + wszystkie przeczytane, ale niezarchiwizowane (tylko ta część jest pokazywana).

Natomiast z aplikacją Weather! Yahoo niestety nie udało mi się wygrać. Co prawda complication zaczęło jakoś tam działać (i tak nie w stopniu użytkowania, ale chociaż w dzień przestało mi pokazywać księżyc i temperaturę z nocy), natomiat próba wejścia do aplikacji jest już koszmarem kompletnym.
Na ten moment musiałem niestety zrezygnować z tej appki. Dziwne, w Google nie znalazłem osób z takim problemem.
Nie płaczę, ale brakuje, bo na jednym małym complication była zarówno temperatura jak i warunki pogodowe. Teraz używając wersji stockowych, muszę zużyć na ten cel 2 pola :(




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych