It never will when running in debugger on your phone from xCode.
Only when you install the app you get the question.
(Released, Testflight or AD-Hoc install doesn’t matter)
I had this working using $cordovaPush, but sadly ended up having to switch to window.plugins.pushNotification, because in case the user turned off the push notifications I couldn’t get the error handler to work with out using a try/catch. (just something you may want to test in the future to make sure it works)
Anyway, are you waiting for ionic platform to be ready?
I implemented this code from devgirl’s website:
and then wait for ionPlatform.ready to fire before calling register. My register code looks the same as yours and it works fine for me, when installed directly on my iphone from xcode.