Bug w iOS uniemożliwiający otwieranie linków – tymczasowe rozwiązanie

28/03/2016, 12:53 · · · 17

Ważne uaktualnienie na dole wpisu.

Od kilkunastu godzin użytkownicy narzekają na problemy z otwieraniem linków w Safari, Wiadomościach i Mailu. Problem objawia się brakiem otwarcia linku, zawieszeniem lub wykrzaczeniem się danej aplikacji – różni użytkownicy mają różne doświadczenia. Apple już o tym problemie wie i prawdopodobnie naprawi go wkrótce. A tymczasem, jeszcze większa ilość userów nie ma tego problemu, w tym ja.

Wbrew raportom, problem nie jest ograniczony do iOS 9.3, tylko również do wcześniejszych wersji.

Uaktualnienie – Tutaj znajdziecie rozwiązanie, które pomaga niektórym użytkownikom:

Oto jak naprawić bug z linkami w iOS 9! [uaktualniono!]

Tymczasowe rozwiązania

Niektórzy raportują, że u nich pomagają następujące kroki:

  • korzystanie z innej przeglądarki niż Safari,
  • wyłączenie JavaScript w Ustawienia → Safari → Zaawansowane.

Jeszcze inni donoszą, że problem wywołany jest u nich przez aplikacje trzecie – jedna osoba raportowała, że zainstalowanie aplikacji Booking.com wywołała problem, z skasowanie jej przywróciło właściwe działanie. Ponoć podobne symptomy wywołuje TripAdvisor. Główny wątek na ten temat znajdziecie tutaj.

Jako, że aplikacje są w sandboxach i nie mogą same z siebie wpływać na system, to wygląda na to, że problem leży w funkcji canOpenURL, która na sztywno orgranicza ilość URL schemes zarejestrowanych w systemie. Być może to jakaś aplikacja trzecia swoim kodem wpływa na wspomniane zarejestrowane w systemie URL schemes i powoduje, że całość się sypie. Jako, że to przekazywanie linków zdaje się działać w oparciu o JS, to prawdopodobnie dlatego ich wyłączenie rozwiązuje problem.

Osobiście, gdybym miał ten problem, odinstalowywałbym aplikacje jedna po drugiej, od najnowszych, aż znalazłbym winowajcę. Niestety go nie mam (i nie chcę mieć), ale jeśli komuś z Was będzie się chciało robić test po każdym uninstallu (oraz prawdopodobnie restarcie) i coś znajdziecie, to dajcie znać.

Niezależnie co jest przyczyną tego, wygląda na to, że pozostaje nam czekać na rozwiązanie od Apple.


Uaktualnienie – 28/03/2016, 17:31

Wiadomo już co jest przyczyną problemów – problem wynika z Universal Links w iOS 9, które pozwalają aplikacjom powiązać URL-e ze zdefiniowanym programem. Dla przykładu, jeśli zainstalujemy YouTube’a, to doda on odpowiednie instrukcje, dzięki którym linki prowadzące do YouTube.com automatycznie otworzą się w YouTube.app. Problem konkretnie wynika z pliku generowanego przez aplikację i winowajcą w tym wypadku jest najprawdopodobniej Booking.com, który stworzył bazę danych o wielkości kilku megabajtów, podczas gdy nie powinna ona przekraczać kilku kilobajtów. To jednak wina Apple, że nie przewidzieli, że jakiś deweloper będzie chciał „przechytrzyć system”, poprzez dodania wszystkich hoteli w swojej bazie danych, aby ich linki kierowały do ich aplikacji, zamiast na stronę WWW danego hotelu. Booking rzekomo już ze swojej strony naprawił ten problem (ich association file zajmuje teraz 4 KB), ale niestety nie pomoże to użytkownikom, którzy już go doświadczyli, ponieważ ich starsza baza jest obecnie uszkodzona i iOS nie potrafi sobie poradzić z jej usunięciem. Oznacza to, że samo skasowanie Booking.com.app nie pomoże.

Niektórzy użytkownicy raportują, że udało im się przywrócić prawidłowe funkcjonowanie iOS-a stosując poniższą metodę:

  1. Skasowanie Booking.com.app.
  2. Restart iPhone’a.
  3. Pobranie Booking.com.app z App Store.
  4. Uruchomienie trybu samolotowego.
  5. Otwarcie aplikacji Booking.com.
  6. Restart iPhone’a.
  7. Skasowanie Booking.com.app.
  8. Wyłączenie trybu samolotowego.

Ta metoda mi osobiście nie pomogła, ale dajcie znać jeśli Wam pomoże. Oczywiście może być też tak, że u mnie namieszał inny app w dokładnie ten sam sposób.



17

Wojtek Pietrusiewicz

Wydawca, fotograf, podróżnik, podcaster – niekoniecznie w tej kolejności. Lubię espresso, mechaniczne zegarki, mechaniczne klawiatury i zwinne samochody.