Major Bug, Sprite Atlas creado en XCAssets Folder no es compatible con la representación por lotes

Empecé a usar el nuevo Atlas de Sprite en la carpeta XCAssets en lugar de tener mis atlas en la carpeta del proyecto. Sin embargo, noté que cuando hice esto, mis nodos ya no se procesaban por lotes, lo que generó una gran cantidad de llamadas de drenaje ineficientes. ¡Esto derrota completamente el propósito de usar un atlas!

Para ser claro, este es el código que usé para get el atlas.

let atlas = SKTextureAtlas(named: "Sprites") 

"Sprites" es un Atlas de Sprite creado en la carpeta XCAssets.

¿Alguien tiene una solución alternativa o estoy atrapado haciendo Sprite Kit Atlases en la carpeta del proyecto.

Estoy usando Xcode 7.2 beta.

La razón por la que quiero usar los nuevos Atlas de Kit de Sprite es debido a este problema.

Encontré una solución mientras escribía la pregunta. Puede crear un SKTextureAtlas programáticamente a partir de imágenes dentro de la carpeta XCAssets como sigue:

 let atlas = SKTextureAtlas(dictionary: ["Head":UIImage(named: "Head")!, "Body":UIImage(named: "Body")!]) 

Esto es obviamente solo una solución. Esperemos que Apple solucione esto en versiones posteriores de Sprite Kit. Este es un error de performance bastante serio que todos los desarrolladores deben tener en count. Incluso el proyecto de ejemplo de Apple utiliza los nuevos Atlas de Sprite, por lo que cree que funcionaría con el procesamiento por lotes.

Actualizar 1 respuesta de Apple:

Gracias por informarnos sobre este problema. Actualmente estamos investigando la causa, e incorporaremos una solución en futuras actualizaciones de iOS. Mientras tanto, hay dos soluciones que puede aplicar: 1. Cree y use atlas de textura en una carpeta .atlas. 2. Continuando con el uso de atlas de textura en el catálogo de activos, pero con el objective de implementación establecido en iOS 8.0.

Actualización 2 Apple dijo que se pudo haber solucionado en iOS 10. Ir a investigar.

Esto parece corregirse en iOS 10. Lo único molesto es que no puede tener dos imágenes que tengan el mismo nombre, incluso si están en atlas separados.

Edición: esto solo se soluciona en iOS 10. Si se está ejecutando en iOS 9, hay una gran pérdida de memory que bloqueará la aplicación.