Mam aplikację, która działa doskonale na iOS 6, ale na iOS 7, jeśli jest bardzo specyficzna akcja podjęta przez użytkownika (zbyt skomplikowane, aby dostać się do, ale używa ona UIWebView
i jest spójna), aplikacja wywala się z błędem:Gdzie mogę dowiedzieć się więcej o WebCoreSharedBufferData?
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[WebCoreSharedBufferData getBytes:range:]: range {0, 8} exceeds data length 0'
teraz jestem bardziej niż szczęśliwi, aby zrobić kilka badań i eksperymentów siebie, ale po prostu nie mogę znaleźć WebCoreSharedBufferData
. Wyszukiwania Google ujawniają kilka osób (np. here i here i here i here), które mają podobne problemy, ale ich pytania albo nie zostały odebrane, albo używają ich aplikacji w sposób (np. Powiększanie mapy lub używanie kodu innej firmy), którego nie robię.
Dokumentacja Xcode nigdy nie słyszała o WebCoreSharedBufferData
, a po przeszukaniu mojego projektu nie ma żadnych odniesień do niego. Wyszukiwarki Google pozostawiły też nieoświetlone, głównie pytania i projekty GitHub z użyciem kodu innej firmy, którego nie używam. Zakładam, że jest to coś głęboko w funkcjonalności Apple UIWebView
, ale bez możliwości dowiedzenia się o niej, mam ciężki czas.
Moje pytanie brzmi: czy ktoś wie, gdzie mogę znaleźć informacje/samouczki/opisy itp. Z WebCoreSharedBufferData
? Mam wrażenie, że gdybym to zrozumiał trochę lepiej, byłbym w stanie znaleźć rozwiązanie, po prostu trudno jest debugować w ciemności ...
Lub alternatywnie, czy ktoś po prostu wie, co zmieniło się z WebCoreSharedBufferData
w iOS 7, który może powodować taki błąd?
EDIT: Wskazówką dostarczone przez kcbanner (który doświadczył podobnego problemu) w komentarzach poniżej: oba nasze problemy wiążą stron z płócien i onclick
wydarzenia z tych płócien. Być może coś się zmieniło w przypadku obsługi kliknięć w systemie iOS 7?
Jaką akcję wykonał użytkownik? Mam również tę kwestię i nie udało mi się wyśledzić zdarzenia wyzwalającego. – kcbanner
To było dość skomplikowane i specyficzne dla aplikacji, gdzie trzeba było odwiedzić określoną stronę w 'UIWebView' i wywołać pewną funkcję JavaScript na tej stronie (związane z tworzeniem i umieszczaniem warstw Canvas ze zdarzenia' onclick'), a następnie ponownie załaduj stronę i spróbuj ponownie wywołać tę samą funkcję 'onclick'.Nie jestem facetem JS i to jest naprawdę dziwaczny wzór, więc nie mogłem go wyśledzić, ale awaria następuje w 100% przypadków, gdy wykonasz te kroki. Jak o tobie? – Nerrolken
Podobna sytuacja, wykorzystujemy płótna i klikamy wydarzenia na tych płótnach. Być może jest to błąd z obsługą klocków. – kcbanner