Aplicativo Cordova preso na tela inicial no iOS 14 Beta

Aug 17 2020

Eu tenho um aplicativo Cordova simples e, quando o executo no iOS 14 beta, o aplicativo trava na tela inicial e há poucos avisos/erros registrados no XCode, mas não tenho certeza se isso está causando o problema.

Criei um aplicativo Cordova em branco para testar se funciona no iOS 14 e, quando o executo no dispositivo, o aplicativo funcionou conforme o esperado, mas quando configurei o aplicativo para usar WKWebView em vez de UIWebView , o aplicativo travou na tela inicial.

Adicionei as preferências abaixo para usar o WKWebView no arquivo config.xml.

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

Eu também adicionei o cordova-plugin-wkwebview-engine, mas não sei se isso me ajudou a definir o WKWebView.

Abaixo está o erro que recebo no XCode:

2020-08-17 12:01:37.990216+0530 BankWindhoek[58947:1465531] nil host used in call to allowsAnyHTTPSCertificateForHost:
2020-08-17 12:01:37.991180+0530 BankWindhoek[58947:1465531] nil host used in call to allowsSpecificHTTPSCertificateForHost

Mas depois de obter este erro, o XCode imprime a declaração de que carregou o index.html

2020-08-17 12:01:38.039671+0530 BankWindhoek[58947:1465275] Finished load of: file:///Users/user1/Library/Developer/CoreSimulator/Devices/88FDF8E3-EDCE-4BB6-95B3-29CA606DA2C5/data/Containers/Bundle/Application/6EE35C46-E78E-4E49-B836-17EBDE6CD664/test.app/www/index.html

Mas na interface do usuário do aplicativo, nada é renderizado corretamente e mostra uma tela branca em branco.

Configurações :

Versão Cordova: 9.0.0

Cordova-ios: 5.1.1

Observação : se eu executar o mesmo aplicativo no iOS 13/iOS 13.1, funcionou conforme o esperado.

Respostas

4 Eric Aug 17 2020 at 21:42

Você deve atualizar para o Cordova 10 e, em seguida, remover

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

e remover

 cordova-plugin-wkwebview-engine

Então

 cordova plugin add @globules-io/cordova-plugin-ios-xhr

e configure os sinalizadores como faria para wkwebview-engine.

Você também precisa atualizar seu plug-in da tela inicial para o novo formato de imagem da tela inicial. Lerhttps://cordova.apache.org/news/2020/07/21/splashscreen-plugin-release.html