I then attempted to add the StatusBar plugin as I was having issues with the status bar overlapping, as discussed here: https://github.com/driftyco/ionic/issues/932#issuecomment-199068329. After adding the statusbar plugin, cordova would fail with permission errors. I removed the plugin again, and since everything has been a nightmare. I could no longer build any apps. Serve still works 100%. Anything cordova related failed.

Reverting to Cordova CLI 4.2.0 enabled me to build again. Updating the CLI to 6.0.0 would appear to be successful, however, upon trying cordova -v - nothing would appear, and would appear as Not Installed using ionic info.

I’ve since downgraded to Node v 4.4.0, however, still having exact same issues. It would seem that Ionic is not picking up the location of Cordova 6. Is there anything I can do? This app was inline to be released by the end of the week but now I’m getting nervous!

Not sure if I’ll ever understand why it happened by my resolution was to remove cordova and ionic from npm. Then remove node completely.

Re-installed node using homebrew and fixed symlinks.
Installed cordova and ionic as sudo: sudo npm install -g cordova ionic@beta
Deleted original platforms folder
Manually added platforms again without sudo: ionic platform add ios
Built each platform without sudo: ionic build ios
Took ownership of all files in home directory: sudo chown -R username /Users/username (as suggested here: http://zacvineyard.com/blog/2015/11/ionic-invalid-device-state-error-with-xcode-7-solved)
Ran the emulator, and it all just worked. Hopefully I can come back to the StatusBar issue in the future, but for now I’m happy.