Q:

long delay launching game on real device

Nearing the end of my first (very simple) game using spritekit. 
I have noted a long delay (about 10 -13 seconds) when running the app on a real device at start up. 
I am assuming this is the time taken to load resources and execute code in initWithSize(). 
Is there a workaround or what is the recommend approach i.e. use a splash screen while game loads. 
I am using a texture atlas but my understanding is that is for optimising resource calls during runtime. 
Cheers

A:

Using the instruments tool can help you locate where bottlenecks appear in code.  I doubt it is 10-13 seconds from app launch as any app that takes 10 seconds or longer to launch is killed by the system. 
Try to load resources intelligently.  Load what is absolutely necessary when launching for what I assume would be your menu.  If there are variations in different gameplay roles or similar assets used across multiple levels.  Load them up, then when a selection has been made load anymore initial resources. 
Also try to recycle resources where possible.  For instance if an enemy is destroyed by the player.  Don't destroy the object.  Reuse it, the memory space it took up is likely to be the same again and creation is more expensive than reusing. 
I found a lot of brilliant pointers in using Profiling tools through the WWDC talks, they are always a great resource.