web-dev-qa-db-fra.com

Abandon d'UIWebView et rejet de l'App Store sur les formulaires Xamarin

Puis-je résoudre les problèmes suivants?

Ma configuration

Version Xamarin.iOS: 13.16.0.13 (Communauté Visual Studio)

Visual Studio Community 2019 pour Mac version 8.5.2 (build 13)

Xamarin.Forms 4.5.0.617

Je suis les instructions ici

https://docs.Microsoft.com/en-gb/xamarin/xamarin-forms/user-interface/webview?tabs=macos#uiwebview-deprecation-and-app-store-rejection-itms-90809

et ici

https://github.com/xamarin/Xamarin.Forms/issues/7323#issuecomment-542363338

enter image description here

pour résoudre ce problème

ITMS-90809: Utilisation d'API obsolète - Les nouvelles applications qui utilisent UIWebView ne sont plus acceptées. Utilisez plutôt WKWebView pour une sécurité et une fiabilité améliorées.

mais j'obtiens l'erreur suivante lors de la publication

enter image description here

Je vous remercie!

2
G.Mich

Comme Microsoft mentionne dans le blog Microsoft, cela est corrigé dans Xamarin.Forms 4.6

Désormais dans la version 4.6, nous mettons à jour les liaisons avec la bibliothèque de Google. Nous avons amélioré la prise en charge du style pour des éléments tels que la définition de la couleur du texte "Désactivé" d'un bouton. La dernière bibliothèque supprime également la référence à l'UIWebView obsolète d'Apple.

Mettez donc à jour votre Xamarin.Forms vers la version 4.6.

1
magicandre1981

Ce n'est pas une réponse, mais je partage mon expérience sur cette question particulière que j'ai également. Cela aiderait peut-être.

Lors de la publication de Apple App Store Connectez une nouvelle application après le 1er avril 2020, Apple pourrait rejeter votre application si vous utilisez UIWebView. Les applications soumises avant de recevoir des avertissements, mais cette application ne sera pas soumise après décembre 2020.

Mon application est nouvelle et je publie après le 1er avril. J'ai eu du mal à publier cette application en utilisant VS 2019 Mac et le processus d'archivage. Je n'aime pas ça. Vous pouvez avoir un écran vert lors de la publication et ne rien voir sur l'appstoreconnect. En effet, Apple rejette votre application. Consultez vos e-mails, vous avez:

ITMS-90809: utilisation de l'API obsolète - Les nouvelles applications qui utilisent UIWebView ne sont plus acceptées. Utilisez plutôt WKWebView pour une sécurité et une fiabilité améliorées

Je suggère d'utiliser une archive sur votre disque et d'utiliser l'application Transporter pour la télécharger. Il a une vue de journal et m'avertit du problème du numéro de build.

De retour sur mon appli, j'essaye l'argument mtouch - astuce optimisée mais ça ne marche pas. J'ai essayé Ne pas lier, Lier le SDK uniquement, Lier tout pour être sûr. Aucun n'a fonctionné. Apple continue de dire que j'utilise UIWebView. Je vérifie mon code, je ne vois UIWebView nulle part.

Je voulais donc essayer une nouvelle application à partir de zéro en utilisant la dernière version de Xamarin.Forms 4.6 et la publier. J'ai eu le même message de problème par Apple. Ensuite, j'ajoute l'argument --optimizer mtouch et je le publie. Apple était satisfait. Cela signifie donc que le "patch" fonctionne.

Donc, comme mon code n'a pas d'UIWebView, je pense que cela pourrait être une bibliothèque de niveaux ... Mais comment trouver ... Je suis essayer ceci https://levelup.gitconnected.com/how-to -find-and-remove-uiwebview-uses-in-your-ios-app-d9395f7baacc

La commande me donne ceci:

FirebaseCore FirebaseCoreDiagnostics GTMSessionFetcher GoogleAPIClientForREST GoogleDataTransport GoogleDataTransportCCTSupport GoogleToolboxForMac GoogleUtilities PersonalizedAdConsent U _OBJC_CLASS _ $ _ UIWebView leveldb libSkiaSharp nanopb protobuf

Donc je suppose que ces bibliothèques ne sont pas "compatibles" ...?

Je mettrai à jour si je trouve quelque chose ...

1
Yann

Je ne sais pas pourquoi, mais lorsque j'ai changé le numéro de version et le numéro de build de mon application, cela a fonctionné. Je crée également une nouvelle version d'application sur App Store Connect.

Les mêmes erreurs dans ce lien m'aident

https://forums.xamarin.com/discussion/172296/app-store-connect-application-loader-publishing-failed-failed-to-parse-altool-output

Est deux erreurs différentes, je crois. La première provient d'UIWebView obsolète et une autre erreur (erreur de publication) est apparue après le premier rejet d'Apple.

Merci.

0
G.Mich