You should test on weak mobile devices from the start. Building a game then going backwards to figure out which part is slow is a lot harder than regularly testing throughout, and noticing any significant drops after particular changes.
Your CPU measurements don't seem to add up - your screenshot shows 95% CPU on an iPhone 5 but 47% in your original post... are those correct? The 95% CPU indicates a CPU-capped game so you probably have too many events, collision checks, or something like that.