Pasek stanu nie może znaleźć obrazu ciągu czasu w pamięci podręcznej. Renderowanie w trakcie


113

Powyższy komunikat otrzymuję po uaktualnieniu do Swift4.1 i Xcode 9.3. Przed aktualizacją nie miałem tego komunikatu w oknie konsoli.

Pasek stanu nie może znaleźć obrazu ciągu czasu w pamięci podręcznej. Renderowanie w trakcie.

pojawia się co kilka minut, o ile mam uruchomioną aplikację.

Widzę, że nie ma negatywnego efektu ubocznego, moja aplikacja działa, jak zwykle, nie widziałem żadnych problemów.

Używam standardowego paska stanu, nie zmieniłem go, aby w żaden sposób go zmodyfikować.

Pytanie 1: Czy wystąpiłby problem wynikający z tego ostrzeżenia w sytuacjach, z którymi jeszcze się nie spotkałem?

Pytanie 2: Czy ktoś wie, jak mogę pozbyć się tego ostrzeżenia?


1
Dziwne. Otrzymuję to również po uaktualnieniu mojego urządzenia testowego do iOS 11.3 i Xcode 9.3
Sudara

Też to rozumiem, na razie wydaje się to nieszkodliwe.
Gereon

1
Dzieje się to raz na minutę (przynajmniej dla mnie) zaraz po tym, jak czas przechodzi w nową minutę.
Simon Jenkins

1
To samo dla mnie;) z Xcode 9.3 i Swift 4.1
Niko Klausnitzer

1
Używam mojej aplikacji na urządzeniu (pojemność iPhone'a 6 16 GB dostępne 5,48 GB) i widziałem to ostrzeżenie, ale kiedy otrzymałem ten komunikat w dzienniku konsoli Xcode, moja aplikacja utknęła.
Ravi Raja Jangid,

Odpowiedzi:


94

Ta uwaga o błędzie / debugowaniu jest obecna w zestawie SDK systemu iOS w pakiecie z Xcode 9.3+

Aktualizacja: nie naprawiona w Xcode 9.4.1 (9F2000)
Aktualizacja: nie naprawiona w Xcode 10 (10A255)
Aktualizacja: nie naprawiona w wersji beta Xcode 11

Myślę, że możesz to spokojnie zignorować. Nowe wersje iOS / macOS czasami zawierają informacyjne komunikaty debugowania i zazwyczaj są one usuwane w następnej wersji.


5
Poczekam na wydanie stabilne - przynajmniej ostatecznie to załatwimy. Dzięki za ostrzeżenie.
mac_eric

9
Ten błąd NIE został naprawiony w wersji 9.4 (9F1027a)
Adam

3
Nie naprawiono w wersji 9.4.1 (9F2000)
Daniel Springer

Komentarz @ LalKrishna jest niedokładny. Właśnie przetestowany z XCode 9.4.1 na iOS 11.3.1 i 11.4, wystąpił na obu. Przynajmniej podczas korzystania z fizycznego iPhone'a 6
Jake T.

1
Dawno temu zagłosowałem za. Ale teraz ponownie rozważam.
Anton Tropashko

13

U mnie też występował ten sam problem. Aby to przezwyciężyć, zrobiłem to

Idź do celu -> Informacje o wdrożeniu -> Niezaznaczone „Ukryj pasek stanu”

Ten rozwiązał mój problem. Dla mnie była to konfiguracja „Informacje o wdrożeniu”.

wprowadź opis obrazu tutaj


3
Testowałem z zaznaczoną i niezaznaczoną opcją „Ukryj pasek stanu”. Żadna z tych opcji nie zapobiegła wyświetlaniu się co drugą minutę komunikatu „Pasek stanu nie mógł znaleźć w pamięci podręcznej ...” .
mac_eric

Czy sprawdziłeś info.plist, czy dodano coś związanego z paskiem stanu?
sRoy

Na info.plist nie ma nic związanego z paskiem stanu. Używam domyślnego paska stanu.
mac_eric

Czy możesz udostępnić plz, wersję xcode i urządzenie, na którym to otrzymujesz? A także, czy twoja aplikacja obsługuje krajobraz?
sRoy

4
Dzięki! To działało dla mnie, właściwie, na początku było odznaczone, sprawdziłem to i uruchomiłem, a następnie ponownie odznaczone i zadziałało
Saeed Ir.

1

Widzę również pojawiające się to ostrzeżenie, aw odpowiedzi na pytanie 1 widzę również potencjalnie bardzo nieprzyjemne zachowanie z nim związane.

Uruchomienie czegoś zbliżonego do podstawowej przykładowej animowanej aplikacji Metal z trójkątem, ale z

renderPassDescriptor.colorAttachments[0].loadAction = .load

tak, że ramka nie jest czyszczona w każdej klatce. Wydaje się, że dzieje się tak, że za każdym razem, gdy jest rejestrowany komunikat ostrzegawczy, iOS również jest zdezorientowany w zarządzaniu stanem grafiki, tak że jestem świadkiem gwałtownego migania części obrazu (który następnie znika później).

Nie jestem pewien, jak prawdopodobne byłoby pojawienie się tej sytuacji w „prawdziwej” aplikacji, ale zdecydowanie nie jest to coś, co użytkownicy powinni zobaczyć.

Jak dotąd nie rozwiązałem problemu; Ustawienia „Ukryj pasek stanu” i „Wymaga pełnego ekranu” nie pomagają.


Oczywiście, że możesz; nie naprawiaj tego. Masz swój metalowy stan. Apple ma swój stan GLES do renderowania paska stanu i te dwa najwyraźniej kolidują. Zgłoś błąd, przygotowując przykładową aplikację, która pomoże im rozwiązać problem w prawdziwym świecie. Może to nie objawiać się w przypadku użytkowników waniliowych uikit, takich jak ja.
Anton Tropashko

1

W moim przypadku ukrywał nawigację gołą obok

self.navigationController?.isNavigationBarHidden = false

Kiedy ukrywasz pasek nawigacji, ukrywa on również pasek stanu !. po prostu użyj

self.navigationController?.navigationBar.isHidden = true

zamiast. Będziesz mieć z powrotem pasek stanu.


Dlaczego pierwsza linia ma, = falsea druga = true? Czy próbujesz zmylić czytelnika, czy jest jakiś cel. (Jeśli nie ma celu, popraw i napisz truelub falsew obu wierszach.)
znaczenie-ma znaczenie

0

Aby odpowiedzieć na pytanie 2 czerpiąc PeterT odpowiedź, że adresy Pytanie 1: nie tylko nie można pozbyć się tego ostrzeżenia, ale nie musi , bo oznacza to, że zasadniczym problemem jest coś, ale łagodne. Przynajmniej w niektórych scenariuszach.

Oznacza to również, że taniec DEC Field Circus Engineer zamiana kół, które płasko w metainformacji projektu, słusznie sprawi, że będziesz wyglądać jak klaun.


-1

Udało mi się pozbyć tego ostrzeżenia, zaznaczając „Wymaga pełnego ekranu” w Cel-> Informacje o wdrożeniu .

Zaznaczenie tej opcji może mieć pewne skutki uboczne na iPadzie, więc powinieneś to zrobić, mając to na uwadze.


1
Używam opcji „Wymaga pełnego ekranu”, ale komunikat wciąż się
pojawia
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.