2016-10-03 42 views
10

Pracuję nad modelem 3D w javascript & przy użyciu GLTF webGL, aby renderować model 3D w systemie iOS. Ładuję ten model za pomocą WKWebView na Ipad Air/Ipad Air 2.Na iOS 10, aplikacja GLTF-WebGL się zawiesza, aplikacja jest budowana przy użyciu narzędzia WKWebView

Ta konfiguracja/aplikacja działa idealnie w IOS9, ale po aktualizacji OS na IOS 10 moja aplikacja uległa awarii. Próbuję debugować sam na Xcode następnie pokazuje następujący komunikat o błędzie:

Error Message: "#WK: Unable to acquire assertion for process 0". 

Próbowaliśmy samo przy użyciu UIWebView w IOS10 to działa, ale wydajność jest niska (aplikacja działa powoli).

Dodatkowe informacje:

  1. Link GLTF-WebGL otworzyć model 3D https://github.com/montagejs/glTF-webgl-viewer.git.
  2. Gdy zmieniłem offsetHeight na scrollHeight, mogę wyświetlić model 3D, ale po pewnym czasie uległo to awarii.

Każda jednostka ma jakąkolwiek sygnalizację debugowania problemów z WebGL na iOS 10?

+0

Po prostu natrafiłem na ten sam problem, ale nie używam WebGL. Mój klient używa treści SCORM i ma ten sam błąd. – Putz1103

+0

Czy próbowałeś już innych przeglądarek glTF? Wygląda na to, że montagejs sięga do glTF 0,8 w 2014 roku. Nastąpiły przełamujące zmiany między glTF 0,8 a glTF 1.0. – emackey

+0

Dziękujemy za odtworzenie emackey, – user3587692

Odpowiedz

0

Otrzymuję ten sam błąd, chociaż w ogóle nie używam WebGL. Używam jednak GPUImage2.

Czy używasz Safari Web Inspector na hoście? Na podstawie mojego doświadczenia i trochę anecdotal & relatedevidence, myślę, że problem jest błąd w jakiejś kombinacji które i WKWebView na iOS 10.

To nie jest idealnym rozwiązaniem, ale nie za pomocą inspektora sieci uniemożliwił WKWebView od awarii dla mnie.

(Co ciekawe, to nie psuje, jeśli mogę użyć inspektora sieci, ale ja nic nie robić GPU intensywne.)

+0

Czy możesz rozwinąć swoją odpowiedź? Kiedy mówisz, że nie używasz przeglądarki internetowej, masz na myśli przeglądarkę Safari lub włączenie jej w telefonie komórkowym ios? – Neutrino

+0

Niestety, wyłączenie inspektora internetowego w safari i telefonie komórkowym nie rozwiązało problemu. Zgadzam się jednak, że jest to problem z WKWebView i iOS10. Używam Meteora do zbudowania aplikacji na iOS i nie używam żadnego SDWebImage lub GPUImage2, o ile mi wiadomo. Nie mogę znaleźć odniesienia do SDImage lub SDWebImage.m gdziekolwiek w wygenerowanym kodzie źródłowym. Czytałem to ustawienie SDImageCache.sharedImageCache(). MaxMemoryCountLimit = 100 rozwiąże problem z tym błędem, ale nie wiem, gdzie ustawić tę wartość, ponieważ nie używam SDImageCache. Każda pomoc jest doceniana – Neutrino

1

Proszę sprawdzić dziennik w konsoli czy można znaleźć wszystko. Wystąpił ten sam błąd "Komunikat o błędzie:" #WK: Nie można uzyskać potwierdzenia dla procesu 0 "." I odkryłem, że to dlatego, że użyłem właściwości css -webkit-przepełnienie-przewijanie, ta właściwość zużyła dużo pamięci i ostatni proces WebKit się zawiesił.