次のスタック トレースを含むバグ レポートを受け取りましたが、何が問題なのかわかりません。これは、テクスチャ アトラスにエミッターのイメージがあるか、エミッターが追加されたのと同じ実行ループでエミッターを削除することによって引き起こされる可能性があるという提案を見てきましたが、これらのいずれも発生していないと思います。これは散発的な問題であり、再現することはできません。バグレポートでのみ表示されます。どんな助けでもいいです。
0 libsystem_platform.dylib OSSpinLockLock + 1
1 SpriteKit SKSpinLockSync(int*, void ()() block_pointer) + 92
2 SpriteKit -[SKTexture loadImageData] + 300
3 SpriteKit -[SKTexture size] + 42
4 SpriteKit SKCEmitterSprite::update(double) + 3136
5 SpriteKit SKCSprite::update(double) + 354
6 SpriteKit SKCSprite::update(double) + 354
7 SpriteKit -[SKScene _update:] + 174
8 SpriteKit -[SKView(Private) _update:] + 324
9 SpriteKit -[SKView renderCallback:] + 820
10 SpriteKit __29-[SKView setUpRenderCallback]_block_invoke + 130
11 SpriteKit -[SKDisplayLink _callbackForNextFrame:] + 254
12 QuartzCore CA::Display::DisplayLinkItem::dispatch() + 98
13 QuartzCore CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 344
14 IOMobileFramebuffer IOMobileFramebufferVsyncNotifyFunc + 104
15 IOKit IODispatchCalloutFromCFMessage + 248
16 ... CoreFoundation __CFMachPortPerform + 136
17 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
18 CoreFoundation __CFRunLoopDoSource1 + 346
19 CoreFoundation __CFRunLoopRun + 1406
20 CoreFoundation CFRunLoopRunSpecific + 524
21 CoreFoundation CFRunLoopRunInMode + 106
22 GraphicsServices GSEventRunModal + 138
23 UIKit UIApplicationMain + 1136
24 myApplication main.m line 16 main
編集:私は今、エミッターで常にではなく、いくつかの異なる状況で SKSpinLockSync 問題が発生することに気付きました。エミッターで頻繁に見られる唯一の理由は、それがアプリでの画像読み込みのライオンズシェアであるため、統計的に最も可能性が高いからだと思います. スタック トレースの先頭 4 行は常に同じです。したがって、最大で[SKTexture Size]
.