2017-01-20 10 views
0

У меня есть SKEffectNode, который содержит узел, который будет динамически изменять его дети через время (удалять детей и динамически добавлять детей очень часто). И я продолжаю получать этот журнал сбоев (только на iOS10) на Fabric, но я не могу воспроизвести его на своих собственных устройствах. Журналу кажется, что он пытается вычислить границы этого узла и получить некоторые ошибки. У кого-то такая же ситуация? PLZ дать мне хорошие предложения и советы. Благодаря!SKEffectNode walk through children crashed (iOS10 Spritekit)

0 SpriteKit      0x190fc2810 SKCNode::walkChildren(void (SKCNode*, bool*) block_pointer, bool, bool) + 100 
1 SpriteKit      0x190fc2b50 SKCNode::getAccumulatedBoundingBox() + 176 
2 SpriteKit      0x190fc3114 ___ZN7SKCNode25getAccumulatedBoundingBoxEv_block_invoke + 36 
3 SpriteKit      0x190fc2858 SKCNode::walkChildren(void (SKCNode*, bool*) block_pointer, bool, bool) + 172 
4 SpriteKit      0x190fc2b50 SKCNode::getAccumulatedBoundingBox() + 176 
5 SpriteKit      0x190fc3114 ___ZN7SKCNode25getAccumulatedBoundingBoxEv_block_invoke + 36 
6 SpriteKit      0x190fc2858 SKCNode::walkChildren(void (SKCNode*, bool*) block_pointer, bool, bool) + 172 
7 SpriteKit      0x190fc2b50 SKCNode::getAccumulatedBoundingBox() + 176 
8 SpriteKit      0x190fc3114 ___ZN7SKCNode25getAccumulatedBoundingBoxEv_block_invoke + 36 
9 SpriteKit      0x190fc2858 SKCNode::walkChildren(void (SKCNode*, bool*) block_pointer, bool, bool) + 172 
10 SpriteKit      0x190fc2b50 SKCNode::getAccumulatedBoundingBox() + 176 
11 SpriteKit      0x19102a090 ___ZN13SKCEffectNode19ensure_framebuffersEP13SKCRenderInfoDv4_j_block_invoke + 36 
12 SpriteKit      0x190fc2858 SKCNode::walkChildren(void (SKCNode*, bool*) block_pointer, bool, bool) + 172 
13 SpriteKit      0x191029ca0 SKCEffectNode::ensure_framebuffers(SKCRenderInfo*, unsigned int vector[4]) + 268 
14 SpriteKit      0x19102a1d0 SKCEffectNode::addRequistePasses(SKCRenderInfo*, std::__1::list<std::__1::shared_ptr<SKCRenderPass>, std::__1::allocator<std::__1::shared_ptr<SKCRenderPass> > >*) + 248 
15 SpriteKit      0x19106485c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 376 
16 SpriteKit      0x191064a4c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 872 
17 SpriteKit      0x191064a4c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 872 
18 SpriteKit      0x191064a4c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 872 
19 SpriteKit      0x191064a4c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 872 
20 SpriteKit      0x191064a4c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 872 
21 SpriteKit      0x191063e30 SKCRenderer::buildRenderGroup(std::__1::shared_ptr<SKCRenderSortGroup> const&) + 792 
22 SpriteKit      0x191061228 SKCRenderer::buildRenderPass(std::__1::shared_ptr<SKCRenderPass> const&) + 92 
23 SpriteKit      0x191060c94 SKCRenderer::render(SKCNode*, float vector[4], std::__1::shared_ptr<jet_framebuffer> const&, unsigned int vector[4], matrix_float4x4, bool, NSDictionary*, SKCStats*, SKCStats*, double) + 1600 
24 SpriteKit      0x190ff000c __51-[SKView _vsyncRenderForTime:preRender:postRender:]_block_invoke + 1564 
25 SpriteKit      0x190ff04a0 __51-[SKView _vsyncRenderForTime:preRender:postRender:]_block_invoke.336 + 408 
26 SpriteKit      0x190fef924 -[SKView _vsyncRenderForTime:preRender:postRender:] + 572 
27 SpriteKit      0x190ff154c __29-[SKView setUpRenderCallback]_block_invoke + 208 
28 SpriteKit      0x191027144 -[SKDisplayLink _callbackForNextFrame:] + 168 
29 QuartzCore      0x184fe6f24 CA::Display::DisplayLinkItem::dispatch(unsigned long long) + 44 
30 QuartzCore      0x184fe6dd0 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 444 
31 IOKit       0x181ffe094 IODispatchCalloutFromCFMessage + 372 
32 CoreFoundation     0x181d26e50 __CFMachPortPerform + 180 
33 CoreFoundation     0x181d3f218 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56 
34 CoreFoundation     0x181d3e9cc __CFRunLoopDoSource1 + 436 
35 CoreFoundation     0x181d3c4b0 __CFRunLoopRun + 1840 
36 CoreFoundation     0x181c6a2b8 CFRunLoopRunSpecific + 444 
37 GraphicsServices    0x18371e198 GSEventRunModal + 180 
38 UIKit       0x187cb17fc -[UIApplication _run] + 684 
39 UIKit       0x187cac534 UIApplicationMain + 208 
40 Space Walk      0x10023fb50 main (main.m:16) 
41 libdispatch.dylib    0x180c4d5b8 (Missing) 
+0

Ваш журнал ничего не говорит нам, вам нужно указать проблему и фактически показать код – Knight0fDragon

+0

Вам нужно указать точный код, который вызывает проблему. Помогите нам помочь вам. – Whirlwind

ответ

1

Наконец-то я выяснил, что происходит. Согласно документации Apple, мы можем добавлять и удалять узлы в основном потоке.