web-dev-qa-db-fra.com

Toujours obtenir ITMS-90809: utilisation de l'API obsolète après l'utilisation de --optimize = force-rejeté-types-remove

Cela me tue depuis quelques jours. J'ai lu tout ce que je peux trouver sur cette erreur et j'ai fait ce que dit xamarin, mais cela ne fonctionne toujours pas.

Je ne parviens pas à faire en sorte que mes builds passent par le pipeline Azure xamarin.ios build et déployer sur Apple.

Quand je construis localement, je reçois des messages comme

MTOUCH : warning MT1502: One or more reference(s) to type 'UIKit.UIWebView' already exists inside 'Xamarin.Forms.Platform.iOS, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' before linking

avec un message compagnon qui dit aucune référence après la liaison lorsque j'utilise --warn-on-type-ref = UIKit.UIWebView avec l'argument d'optimisation.

Lorsque je construis sur Azure dans mon pipeline, je ne vois que le MT1502 mais rien ne dit quoi que ce soit après la liaison. La compilation est soumise à Apple et échoue à cause du message ITMS.

Je ne sais pas quoi faire. J'utilise la dernière image macOS vm, mono 6.8.0.123, xamarin.ios 13.16.0.13, xcode 11.4.1. Le pipeline a bien fonctionné avant la date limite du 30 avril, maintenant quoi qu'il arrive, je ne peux pas faire en sorte que l'éditeur de liens supprime UIWebView.

Faites-moi savoir quelles autres informations seraient utiles. Je suis complètement coincé à ce stade.

Merci.

4
jmichas

Résolu !! J'ai dû mettre à jour la manière dont les pépites sont incluses dans le fichier .csproj du projet iOS. Le problème était que l'éditeur de liens malgré l'indicateur --optimize = force-lost-types-remove ne supprimait pas le composant UIWebView de Xamarin.Forms 4.6 probablement parce qu'il ne le voyait pas.

Mon projet a été créé il y a plus de deux ans et j'utilisais toujours le fichier packages.config. Après la mise à jour, l'indicateur a commencé à fonctionner et la requête grep a renvoyé 0 :). Le meilleur moyen est de comparer l'ancien fichier .csproj avec le fichier .csproj de projet iOS fraîchement créé et de voir comment VS fait référence aux nugets.

0