Сценарий SpriteKit с EXC_BAD_ACCESS после обновления до iOS8. Бывает случайное время, без видимых причин, после игры. Исключение точки останова, а также включение обнаружения NSZombie в Allocations/Instruments не дает никакой информации, поэтому я не могу обнаружить строку в моем коде, которая вызывает ошибку.EXC_BAD_ACCESS после обновления до игры iOS8 SpriteKit
Вот трассировку:
* thread #1: tid = 0x5d267, 0x2fd7c760 SpriteKit`SKCSprite::update(double) + 328, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xc)
frame #0: 0x2fd7c760 SpriteKit`SKCSprite::update(double) + 328
frame #1: 0x2fd2cec8 SpriteKit`-[SKScene _update:] + 200
frame #2: 0x2fd4a8ae SpriteKit`-[SKView(Private) _update:] + 686
frame #3: 0x2fd47a44 SpriteKit`-[SKView renderCallback:] + 748
frame #4: 0x2fd4485c SpriteKit`__29-[SKView setUpRenderCallback]_block_invoke + 116
frame #5: 0x2fd75fcc SpriteKit`-[SKDisplayLink _callbackForNextFrame:] + 248
frame #6: 0x2f91ad7a QuartzCore`CA::Display::DisplayLinkItem::dispatch() + 98
frame #7: 0x2f91abe2 QuartzCore`CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 366
frame #8: 0x341ca82e IOMobileFramebuffer`IOMobileFramebufferVsyncNotifyFunc + 90
frame #9: 0x2d94a51c IOKit`IODispatchCalloutFromCFMessage + 256
frame #10: 0x2c9dcbe4 CoreFoundation`__CFMachPortPerform + 132
frame #11: 0x2c9ed022 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
frame #12: 0x2c9ecfbe CoreFoundation`__CFRunLoopDoSource1 + 346
frame #13: 0x2c9eb5e0 CoreFoundation`__CFRunLoopRun + 1608
frame #14: 0x2c938db0 CoreFoundation`CFRunLoopRunSpecific + 476
frame #15: 0x2c938bc2 CoreFoundation`CFRunLoopRunInMode + 106
frame #16: 0x33cc4050 GraphicsServices`GSEventRunModal + 136
frame #17: 0x2ff04a30 UIKit`UIApplicationMain + 1440
* frame #18: 0x001073cc p01g01`main(argc=1, argv=0x00456bd4) + 116 at main.m:16
По-видимому, этот вопрос каким-то образом связан с SpriteKit.
На iOS7, однако, игра работает без проблем.
Есть ли другой способ найти и устранить проблему?
Downvoting? Тогда возьмите трудность, чтобы объяснить свое действие. Спасибо. – kamneed
Теперь это слепой снимок с предоставленной информацией. Но в iOS8 есть случаи, когда обновление пользовательского интерфейса внутри блока вызывает проблему, поэтому я предлагаю вам посмотреть там, где добавляются или удаляются узлы. Но опять же, это слепой выстрел, это происходит в каком-либо конкретном месте или просто при загрузке сцены? – gzafra
@Willhem спасибо за ответ, к сожалению, я не могу предоставить какой-либо фрагмент кода, поскольку Xcode не сообщает, где эта проблема. И есть огромное количество кода. Это происходит через 10-20 секунд после начала интенсивной игры, никаких особых событий, чтобы придерживаться. Я попытаюсь выкопать его в направлении блока. – kamneed