25
votes

ITMS-90809: utilisation de l'API obsolète - les applications existantes qui utilisent UIWebView ne sont plus acceptées

ITMS-90809: Utilisation de l'API obsolète - Apple n'acceptera plus les soumissions de nouvelles applications utilisant UIWebView à compter du 30 avril 2020 et les mises à jour d'applications utilisant UIWebView à partir de décembre 2020. Utilisez plutôt WKWebView pour une sécurité et une fiabilité améliorées.

J'essaie de mettre à jour une application existante, pas une nouvelle application. Je ne parviens toujours pas à télécharger l'application. J'ai eu cette erreur par e-mail:


We identified one or more issues with a recent delivery for your app, "App Name" 20202.421.1 (6). Please correct the following issues, then upload again.
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

Apple a-t-il changé sa politique ou quelque chose du genre? Ou dois-je changer UIWebView ?


4 commentaires

@TylerTheCompiler Non. Il semble que ce ne soit pas le cas ... lisez-le d'abord ... Je suis conscient du fait que UIWebView est déprécié, mais pour une nouvelle application. pour les anciennes applications, ils ont mentionné la date limite de décembre 2020. et je ne suis toujours pas en mesure de mettre à jour mon application existante


Avez-vous déjà publié une version de cette application avec cet identifiant de bundle sur l'App Store?


Oui ... je l'ai fait ... J'ai mon application en ligne sur l'App Store en ce moment ... et je veux la mettre à jour


J'ai eu le même problème pour mon application existante (2+ ans sur l'App Store). J'avais un composant qui utilisait toujours UIWebView et j'ai dû le migrer vers WKWebView. Étrange car les applications existantes ne devraient toujours pas être rejetées avant décembre 2020. J'ai également commencé à se produire de manière aléatoire au début du mois de mai. A travaillé pendant quelques jours en mai, il est donc étrange que la date limite du 30 avril n'ait pas causé ce problème.


7 Réponses :


13
votes

Dans Terminal, exécutez cette commande dans votre dossier de projet iOS:

grep -r "UIWebView" .

Il affichera tous les fichiers qui utilisent UIWebview. Mettez à jour tous les fichiers pour utiliser WKWebView. Si vos bibliothèques de pods indiquent qu'elle contient UIWebView. Mettez également à jour les fichiers des pods.

Pour info, il m'a fallu 6 heures pour réparer mon projet afin d'utiliser WKWebView car je devais mettre à jour les fichiers pods et corriger beaucoup de code.


3 commentaires

N'oubliez pas le. (point) à la fin de [grep -r "UIWebView".] comme je l'ai fait ...


Excellente solution. Merci.


Salut @ user1733372, pouvez-vous dire comment mettre à jour les pods? Je ne sais rien des pods.



25
votes

Oui, Apple a changé les politiques. Utilisez-vous ionic? si tel est le cas, installez-les:

  1. cordova plugin add cordova-plugin-ionic-webview@latest
  2. npm install @ionic-native/ionic-webview

Ensuite, ajoutez ceci à votre config.xml sous la plateforme ios:

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

Enfin, exécutez ionic cordova prepare ios pour refléter les changements, puis exécutez ionic cordova build ios --prod

PS: Assurez-vous que vous n'avez installé qu'un seul plugin webview .. soit celui-ci, soit le 'cordova-webviewengine'. Mais la méthode ci-dessus a fonctionné pour moi et mon application est maintenant dans l'App Store


2 commentaires

Vérifié sur Ionic v5. Merci @Sireesha!


Cela a fonctionné. Merci beaucoup :)



0
votes

J'ai rencontré le même problème dans Ionic 4 .

Liste des étapes suivies pour résoudre le problème

veuillez mettre à jour votre plate-forme IOS. et navigateur d'applications.

cordova plugin add cordova-plugin-wkwebview-engine

run cordova plugin add cordova-plugin-wkwebview-engine

detele node_modules , then reinstall by run yarn or npm install

run ionic cordova platform rm ios

run ionic cordova platform add ios@5.1.1

npm i cordova-plugin-inappbrowser@3.2.0

cordova plugin add cordova-plugin-inappbrowser@3.2.0

ionic cordova prepare ios.

ionic cordova build ios


0 commentaires

6
votes

J'ai rencontré le même problème quelques jours plus tôt pour mon projet IONIC 4. lorsque j'ai téléchargé mon IPA, j'ai reçu ces avertissements de l'App Store Connect.

entrez la description de l'image ici

J'ai résolu le problème "UIWebView", par les étapes suivantes. j'espère que cela fonctionnera également pour vous.

Suivez ces étapes:

  1. Exécutez la commande suivante pour supprimer la plate-forme existante.

    ionic cordova platform rm ios

  2. supprimez le plug-in de vue Web existant et installez le dernier.

    ionic cordova plugin rm cordova-plugin-ionic-webview

    ionic cordova plugin add cordova-plugin-ionic-webview@latest

  3. Installez-le également.

    npm install @ionic-native/ionic-webview@latest

  4. Ajoutez ceci à votre fichier config.xml sous la partie ios.

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

  5. vérifiez votre version "cordova-ios": "^5.1.1" . il doit être 5.1.x ou supérieur.

  6. puis exécutez ces commandes pour créer à nouveau.

    ionic cordova platform add ios

    ionic cordova prepare ios

    ionic cordova build ios

c'est tout. cela a fonctionné pour moi.


Mon fichier Package.json:

entrez la description de l'image ici

entrez la description de l'image ici

Partage de mon config.xml également:

entrez la description de l'image ici

Suivez ce lien pour plus d'informations:

https://ionicframework.com/blog/understanding-itms-90809-uiwebview-api-deprecation/

Merci.


1 commentaires

Salut, après la mise à jour de config.xml, je suis confronté à un "événement de pression mémoire reçu 2 pression vm 0" Mon application se rechargera à nouveau. Qu'est-ce qui ne va pas ?



1
votes

facebook4, googleplus, fcm ancienne version de ces plugins cordova utilisant également UIWebView. besoin d'utiliser les dernières versions


0 commentaires

0
votes

Je m'en débarrasse en suivant les étapes ci-dessous (dans le projet react-native) -

Étape 1:

Rechercher «UIWebView» dans le répertoire du projet xcode

Étape 2:

Faites un clic droit (sur RCTWebView.m) et sélectionnez «Révéler dans Project Navigator»

Étape 3:

Faites défiler vers le bas et supprimez uniquement les quatre fichiers suivants:

 1. RCTWebView.h
 2. RCTWebView.m
 3. RCTWebViewManager.h
 4. RCTWebViewManager.m

Ensuite, nettoyez le projet et l'archive.

NB: Si vous utilisez la bibliothèque 'react-native-community / react-native-webview' , mettez à jour avec la dernière version sinon c'est fait.


0 commentaires

1
votes

Pour les projets Xamarin Form, voici le correctif:

Accédez à votre projet iOS, ouvrez les propriétés du projet et ajoutez cet indicateur dans le champ d'arguments mtouch supplémentaires: --optimize=experimental-xforms-product-type cet indicateur fonctionne avec le comportement de l' --optimize=experimental-xforms-product-type défini sur SDK uniquement ou Tous.

En savoir plus sur Microsoft: https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/


0 commentaires