Events not being caught in iOS

After upgrading to Ionic 3.6, and only when running on an iPhone, this has been working on both Android and iOS before the upgrade.

Events that are fired inside a custom service are no longer being caught inside my main App component.

Here is the code that is subscribing to these events in the app.component.ts constructor

constructor(...) {
   this.platform.ready()
      .then(() => {
        this.statusBar.styleDefault();

        this.platform.registerBackButtonAction(this.onBackButtonPressed.bind(this), 1);

        this.events.subscribe('navigate', this.navigate.bind(this));
        this.events.subscribe('setRoot', this.setRoot.bind(this));
        this.events.subscribe('back', this.back.bind(this));
        this.events.subscribe('home', this.home.bind(this));
        this.events.subscribe('logout', this.logout.bind(this));
        this.events.subscribe('exit', this.exit.bind(this));

        setTimeout(() => {
          this.splashScreen.hide();
        }, 100);

      });
}

I have found debugging this quite tricky on iOS, however I have console outputs confirming that the events are being fired, but not being caught.

Any thoughts or ideas on what may be causing this, or how to go about debugging this better? At the moment I am just using safari to look at the console output of the app.

I discovered the issue was due to platform.ready() never happening, and as such the events were never bound.

Platform.ready() was never firing due to my CSP in index.html not having gap://ready in it.

Could you please show me an example of this. I’m also experiencing this issue. Thanks!