Apple déconseille UIWebView pour iOS 12. ( https://cordova.Apache.org/news/2018/08/01/future-cordova-ios-webview.html )
J'ai une application Cordova et j'ai quelques questions sur ce changement:
Comment savoir si mon application utilise UIWebView?
Si vous utilisez Cordova sans aucun framework, il utilisera UIWebView
par défaut.
Si vous utilisez Ionic, il utilise son propre plugin WKWebView
par défaut (si vous avez démarré l'application avec Ionic CLI).
Si vous lisez les journaux au démarrage de l'application, il indiquera "Utilisation d'UIWebView" ou "Utilisation de WKWebView" ou "Utilisation de Ionic WebView" ou d'autres messages similaires.
Dans combien de temps est-il prévu que Apple supprimera complètement UIWebView?
Obsolète signifie seulement qu'il va disparaître à l'avenir, nous ne pouvons pas savoir quand, mais il est sûr de l'utiliser dans iOS 12 et n'a pas été supprimé sur iOS 13 bêta non plus. Mais vous devez commencer la migration dès que possible.
Actuellement, pour les applications Cordova, il est recommandé d'installer le plug-in du moteur WKWebView. Sur la base du fichier lisez-moi, tout ce que j'ai à faire est d'installer ce plugin et cela fait que Cordova utilise WKWebView. est-ce vraiment si facile? Une fois cela ajouté, je viens de créer et je peux tester en sachant que l'application utilise uniquement WKWebView?
Oui, c'est aussi simple que cela, mais le WKWebView
a quelques problèmes qui pourraient affecter votre application, alors essayez. Comme expliqué au premier point, le message doit maintenant dire "Utilisation de WKWebView".
Les problèmes connus sont signalés dans le blog que vous avez lié. S'ils vous affectent, vous pouvez essayer Ionic WebView , il utilise WKWebView
et WKURLSchemeHandler
pour résoudre certains de ces problèmes. Vous n'avez pas besoin d'utiliser Ionic pour utiliser le Ionic WebView.
Cordova a un plugin de serveur Web local que vous pouvez utiliser wkwebview-engine-localhost qui résout certains des problèmes, mais ce n'est pas vraiment bien d'avoir un serveur Web en cours d'exécution dans votre application.