Cordova [iOS] – DeviceReady not firing (working fine on [android])

I’ve been building an application for Android, which works perfectly. Now I’m trying to add an iOS platform. Migrated my application on my Macbook, and run the application on an iPhone 8.

If I create a new project, the Cordova startup app works without issue.

Splash screen opens, then nothing happens. If I put <preference name="AutoHideSplashScreen"/> value to true, then splash screen comes, then hides, leaving a blank white screen. It looks like DeviceReady isn’t firing for some reason

index.js

document.addEventListener('deviceready', onDeviceReady, false);

function onDeviceReady() {
    alert('IOS Device Ready');
    navigator.splashscreen.hide();
}

Config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.example.template" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
    <name>Template</name>
    <description>
        Template
    </description>
    <author email="[email protected]" href="http://cordova.io">
        Template
    </author>
    <content src="index.html" />
    <access origin="*" />
    <allow-navigation href="*"/>
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <preference name="Orientation" value="landscape" />
    <preference name="Fullscreen" value="true" />
    <preference name="BackgroundColor" value="#FFFFFFFF"/>
    <preference name="SplashScreen" value="screen" />
    <preference name="AutoHideSplashScreen" value="false" />
    <preference name="SplashScreenDelay" value="1000" />
    <preference name="FadeSplashScreen" value="false" />
    <preference name="ShowSplashScreenSpinner" value="false" />
    <preference name="AllowInlineMediaPlayback" value="true" />
    <preference name="DisallowOverscroll" value="true" />

    <platform name="android">
        <allow-intent href="market:*" />
        <resource-file src="www/audio/zombie.wav" target="app/src/main/res/raw/zombie.wav" />
        <preference name="android-manifest/application/activity/@android:theme" value="@android:style/Theme.Light.NoTitleBar.Fullscreen"/>
        <preference name="AndroidXEnabled" value="true" />
        <preference name="android-minSdkVersion" value="23" />
        <preference name="AndroidBlacklistSecureSocketProtocols" value="SSLv3,TLSv1" />
        
        <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity">
            <activity android:theme="@style/MyFullTheme"/>
        </edit-config>
        <edit-config file="strings.xml" mode="add" target="/resources">
            <style name="MyFullTheme" parent="@style/Theme.AppCompat.NoActionBar">
                <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item><!-- Use 100% screen size even on borderless device / notch device -->
                <item name="android:windowTranslucentStatus">true</item>
                <item name="android:windowTranslucentNavigation">true</item>
                <item name="android:windowFullscreen">true</item><!-- Use 100% screen size -->
                <item name="android:windowActionBar">false</item>
                <item name="android:windowNoTitle">true</item>
                <item name="android:windowContentOverlay">@null</item>
                <item name="android:windowBackground">@android:color/white</item>
                <item name="android:statusBarColor">@android:color/black</item>
            </style>
        </edit-config>
    </platform>
    
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
        <splash src="res/screen/ios/Default@2x~universal~anyany.png" />
        
        <preference name="AllowNewWindows" value="true" />
        <preference name="MediaPlaybackAllowsAirPlay" value="true" />
        <preference name="Allow3DTouchLinkPreview" value="false" />
        <preference name="AllowBackForwardNavigationGestures" value="false" />
        <preference name="ShowSplashScreen" value="false" />
        
        <preference name="WKWebViewOnly" value="true" />

        <feature name="CDVWKWebViewEngine">
            <param name="ios-package" value="CDVWKWebViewEngine" />
        </feature>

        <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
    </platform>
    
    <platform name="browser">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
</widget>