2016-09-15 24 views
5

Właśnie zaktualizowałem system iOs10 na moim telefonie testowym i XCode 8. Uruchomiłem migrację kodu i pomyślnie testowałem symulowane urządzenia.Aplikacja Sprite Kit ulega awarii po uruchomieniu na prawdziwym urządzeniu i podłączona do komputera.

Jednak po rozpoczęciu próby na moim prawdziwym urządzeniu rzeczy przestały działać sprawnie. Po uruchomieniu gry Sprite Kit przez około 5 - 10 sekund spowodowałoby to awarię i uniemożliwiło działanie telefonu, dopóki nie wyłączyłem go z komputera. Po odłączeniu go gra działa normalnie i nadal jest bardzo płynna.

to są powiadomienia dotyczące uruchomienia drukowane do konsoli:

2016-09-15 22:20:49.490959 AppName[411:38688] [DYMTLInitPlatform] platform initialization successful 
2016-09-15 22:20:49.684189 AppName[411:38634] Metal GPU Frame Capture Enabled 
2016-09-15 22:20:49.684758 AppName[411:38634] Metal API Validation Enabled 

Jest to błąd otrzymuję po awarii aplikacji, gdy telefon jest podłączony:

/BuildRoot/Library/Caches/com.apple.xbs/Sources/Metal/Metal-85.83/ToolsLayers/Debug/MTLDebugRenderCommandEncoder.mm:130: failed assertion `indexBufferOffset(12) + (indexCount(480) * 2) must be <= [indexBuffer length](960).' 
(lldb) 
+0

zrobiłeś czystą kompilację – Knight0fDragon

+0

idziesz poza swoim buforze (I Zakładam, że nie masz dostępu do metalu poprawnie, robi to zestaw sprite) – Knight0fDragon

Odpowiedz

1

spróbować wyłączyć weryfikację Metal edytując schemat:

  1. (Command-Option-R)
  2. przejdź do karty Opcje.
  3. Ustaw opcję Metal API Validation na Disabled.

Ten pracował dla mnie ...

0

mogę rozwiązać ten problem, odznaczając „Debug wykonywalny” w Programie enter image description here