Создаем новое приложение с помощью CLI, указываем минимальный набор плагинов:
cordova-plugin-keyboard 1.2.0
cordova-plugin-splashscreen 5.0.4
cordova-plugin-statusbar 2.4.3
cordova-plugin-whitelist 1.3.4
Отправляем в AppStore и получаем ошибку:
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability
Как мы знаем, WKWebView уже включен в Cordova iOS 6, но, согласно этому посту: https://cordova.apache.org/howto/2020/03/18/wkwebviewonly.html нам нужно добавить в config.xml строчки:
<platform name="ios">
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
</platform>
Теперь AppStore не выдает ошибки и приложение успешно уходит на проверку, но модератор отклоняет его, ведь на iPad iOS 13.5 дальше splash не уходит. Проверяю на iPhone 6S Plus с такой же iOS 13.5 - все работает, проверяю на симуляторе iPad с такой же iOS 13.5 - не работает, как не работает и на симуляторе iPhone X: проблема в том, что app::init просто не вызывается…
Для решения проблемы, нужно убрать этот код из config.xml, затем, что обязательно, удалить ios платформу и добавить заново. В итоге приложение прекрасно работает на эмуляторе, но уже не отправляется в AppStore.
Кто сталкивался, что делать?