Xamarin.forms: [Bug] Abandon de UIWebView Apple Avril 2020

Créé le 3 mars 2020  ·  92Commentaires  ·  Source: xamarin/Xamarin.Forms

Avant de commenter ce problème, veuillez lire les commentaires et les liens de documentation suivants

https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -625946175

Et reportez-vous aux liens de documentation officiels suivants

https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/

https://docs.microsoft.com/en-us/xamarin/ios/release-notes/13/13.16#help -with-uiwebview-deprecation

Description du problème d'origine

J'ai installé le 4.5.0.356 de xamarin et j'utilise testflight pour publier mon application sur iOS. J'ai xamarin form 4.5 et j'ai implémenté tout le lien dans la documentation
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/webview?tabs=windows#uiwebview -deprecation-and-app-store-rejection-itms-90809

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/release-notes/4.5/4.5.0

Je reçois toujours le message d'Apple:
"Cher développeur,

Nous avons identifié un ou plusieurs problèmes avec une diffusion récente de votre application, "XXXXXXXX" 3 (46). Votre livraison a réussi, mais vous souhaiterez peut-être corriger les problèmes suivants lors de votre prochaine livraison:

ITMS-90809: Utilisation obsolète des API - Apple cessera d'accepter les soumissions d'applications utilisant les API UIWebView à partir d'avril 2020. Voir https://developer.apple.com/documentation/uikit/uiwebview pour plus d'informations.

Après avoir corrigé les problèmes, vous pouvez télécharger un nouveau binaire sur App Store Connect.

Meilleures salutations,

L'équipe App Store "

Quelqu'un peut-il m'aider à résoudre ce problème?

Voici mon csproj

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{XXXXXXXXXXXXXXXXXXXXXXXXXXXXX}</ProjectGuid>
    <ProjectTypeGuids>{XXXXXXXXXXXXXXXXXX};{XXXXXXXXXXXXXXXXXXXXX}</ProjectTypeGuids>
    <TemplateGuid>{XXXXXXXXXXXXXXXXXXXXXXXXXXXX}</TemplateGuid>
    <OutputType>Exe</OutputType>
    <RootNamespace>Agenda.iOS</RootNamespace>
    <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
    <AssemblyName>Agenda.iOS</AssemblyName>
    <MtouchEnableSGenConc>true</MtouchEnableSGenConc>
    <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\iPhoneSimulator\Debug</OutputPath>
    <DefineConstants>DEBUG</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <MtouchArch>x86_64</MtouchArch>
    <MtouchLink>None</MtouchLink>
    <MtouchDebug>true</MtouchDebug>
    <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\iPhoneSimulator\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <MtouchLink>Full</MtouchLink>
    <MtouchArch>x86_64</MtouchArch>
    <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\iPhone\Debug</OutputPath>
    <DefineConstants>DEBUG</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <MtouchArch>ARM64</MtouchArch>
    <CodesignKey>iPhone Developer</CodesignKey>
    <MtouchDebug>true</MtouchDebug>
    <CodesignEntitlements>
    </CodesignEntitlements>
    <CodesignProvision>
    </CodesignProvision>
    <IOSDebugOverWiFi>true</IOSDebugOverWiFi>
    <CodesignExtraArgs />
    <CodesignResourceRules />
    <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\iPhone\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <MtouchArch>ARM64</MtouchArch>
    <CodesignKey>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</CodesignKey>
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
    <CodesignProvision>Agenda Distribution</CodesignProvision>
    <BuildIpa>true</BuildIpa>
    <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' ">
    <AppExtensionDebugBundleId />
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="Main.cs" />
    <Compile Include="AppDelegate.cs" />
    <None Include="Entitlements.plist" />
    <BundleResource Include="GoogleService-Info.plist" />
    <None Include="Info.plist" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Xml" />
    <Reference Include="System.Core" />
    <Reference Include="Xamarin.iOS" />
    <Reference Include="System.Numerics" />
    <Reference Include="System.Numerics.Vectors" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json">
      <Version>12.0.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Firebase.iOS.CloudMessaging">
      <Version>3.1.2</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Forms" Version="4.5.0.356" />
    <PackageReference Include="Xamarin.Essentials" Version="1.5.0" />
    <PackageReference Include="Xamarin.Forms.Visual.Material">
      <Version>4.5.0.356</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.IQKeyboardManager">
      <Version>1.4.1</Version>
    </PackageReference>
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
  <ItemGroup>
    <ProjectReference Include="..\Agenda\Agenda.csproj">
      <Project>{XXXXXXXXXXXXXXXXXXXXXXXXX}</Project>
      <Name>Agenda</Name>
    </ProjectReference>
  </ItemGroup>
  <ProjectExtensions>
    <VisualStudio>
      <UserProperties XamarinHotReloadWrongLinkerErrorInfoBarAgendaiOSHideInfoBar="True" />
    </VisualStudio>
  </ProjectExtensions>
</Project>
needs-info ❓ unverified bug

Commentaire le plus utile

Ok, je l'ai réparé. C'était ma procédure.

Construisez sur Visual Studio dans win10 avec un mac-mini en ligne connecté via un réseau. Les étapes étaient les suivantes:

  • "bin / obj dance"
  • Désinstaller Xamarin.Visual.Material.Design du projet
  • "bin / obj dance"
  • Installer la version instable 92.0.0-rc2 de Xamarin.iOS.MaterialComponents
  • Installez Xamarin.Visual.Material.Design 4.5.0.356

Le seul problème était ce composant. La messagerie cloud Firebase n'était pas le problème. Thx pour l'aide.

Tous les 92 commentaires

@EdoardoCinelli Le comportement de l'éditeur de liens est-il défini sur "SDK uniquement" ou "Lier tout" pour la configuration Release | iPhone?

J'ai également suivi le lien et je reçois toujours ce message. ci-dessous est également le cs.proj pour mon application si cela peut aider du tout. L'éditeur de liens est défini pour être uniquement lié au framework sdk et j'ai ajouté "--optimize = experimental-xforms-product-type" aux argumants mtouch.

<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform> <ProductVersion>8.0.30703</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{7FE56767-FBA2-4515-AD06-03F538621686}</ProjectGuid> <ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <OutputType>Exe</OutputType> <RootNamespace>VisitPikeville2.iOS</RootNamespace> <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix> <AssemblyName>VisitPikeville2.iOS</AssemblyName> <NuGetPackageImportStamp> </NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin\iPhoneSimulator\Debug</OutputPath> <DefineConstants>DEBUG</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <ConsolePause>false</ConsolePause> <MtouchArch>i386, x86_64</MtouchArch> <MtouchLink>None</MtouchLink> <MtouchDebug>true</MtouchDebug> <CodesignProvision>Visit Pikeville City App Development</CodesignProvision> <CodesignKey>iPhone Developer: Michael harrison (R52P7U9CKM)</CodesignKey> <LangVersion>default</LangVersion> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' "> <DebugType>none</DebugType> <Optimize>true</Optimize> <OutputPath>bin\iPhoneSimulator\Release</OutputPath> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <MtouchLink>SdkOnly</MtouchLink> <MtouchArch>i386, x86_64</MtouchArch> <ConsolePause>false</ConsolePause> <CodesignProvision>Visit Pikeville City App</CodesignProvision> <CodesignKey>iPhone Distribution: Bit Source, LLC (75D68EY2Q2)</CodesignKey> <LangVersion>default</LangVersion> <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin\iPhone\Debug</OutputPath> <DefineConstants>DEBUG</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <ConsolePause>false</ConsolePause> <MtouchArch>ARM64</MtouchArch> <CodesignKey>iPhone Developer: Michael harrison (R52P7U9CKM)</CodesignKey> <MtouchDebug>true</MtouchDebug> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <CodesignProvision>Visit Pikeville City App Development</CodesignProvision> <MtouchLink>None</MtouchLink> <DeviceSpecificBuild>false</DeviceSpecificBuild> <LangVersion>default</LangVersion> <MtouchInterpreter>-all</MtouchInterpreter> <IntermediateOutputPath></IntermediateOutputPath> <MtouchVerbosity></MtouchVerbosity> <IOSDebuggerPort></IOSDebuggerPort> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> <DebugType>none</DebugType> <Optimize>true</Optimize> <OutputPath>bin\iPhone\Release</OutputPath> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <MtouchArch>ARM64</MtouchArch> <ConsolePause>false</ConsolePause> <CodesignKey>iPhone Distribution: Bit Source, LLC (75D68EY2Q2)</CodesignKey> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <CodesignProvision>Visit Pikeville City App</CodesignProvision> <MtouchLink>SdkOnly</MtouchLink> <LangVersion>default</LangVersion> <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs> <DeviceSpecificBuild>true</DeviceSpecificBuild> <MtouchEnableSGenConc>true</MtouchEnableSGenConc> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' "> <DebugType>none</DebugType> <Optimize>True</Optimize> <OutputPath>bin\iPhone\Ad-Hoc</OutputPath> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <ConsolePause>False</ConsolePause> <MtouchArch>ARM64</MtouchArch> <BuildIpa>True</BuildIpa> <CodesignProvision>VS: WildCard Development</CodesignProvision> <CodesignKey>iPhone Developer: Michael harrison (R52P7U9CKM)</CodesignKey> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <LangVersion>default</LangVersion> <MtouchLink></MtouchLink> <AllowUnsafeBlocks>false</AllowUnsafeBlocks> <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' "> <DebugType>none</DebugType> <Optimize>True</Optimize> <OutputPath>bin\iPhone\AppStore</OutputPath> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <ConsolePause>False</ConsolePause> <MtouchArch>ARM64</MtouchArch> <CodesignProvision>Visit Pikeville City App</CodesignProvision> <CodesignKey>iPhone Distribution: Bit Source, LLC (75D68EY2Q2)</CodesignKey> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <LangVersion>default</LangVersion> <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs> </PropertyGroup> <ItemGroup> <Compile Include="Main.cs" /> <Compile Include="AppDelegate.cs" /> <None Include="Entitlements.plist" /> <None Include="Info.plist" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Services\IosThemeChecker.cs" /> </ItemGroup> <ItemGroup> <ImageAsset Include="Assets.xcassets\Contents.json"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\[email protected]"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\[email protected]"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\[email protected]"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\[email protected]"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\[email protected]"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\[email protected]"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\[email protected]"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\[email protected]"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\40.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\60 x 60.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\58.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\87.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\80.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\120.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\120-1.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\180 x 180.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\1024.png" /> <ImageAsset Include="Assets.xcassets\home.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\MapIcon.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\MapIcon.imageset\MapIcon%403x.png" /> <ImageAsset Include="Assets.xcassets\MapIcon.imageset\MapIcon%402x.png" /> <ImageAsset Include="Assets.xcassets\MapIcon.imageset\MapIcon.png" /> <ImageAsset Include="Assets.xcassets\wifi.imageset\wifi%403x.png" /> <ImageAsset Include="Assets.xcassets\wifi.imageset\wifi%402x.png" /> <ImageAsset Include="Assets.xcassets\wifi.imageset\wifi.png" /> <ImageAsset Include="Assets.xcassets\wifi.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\contactCall.imageset\contactCall%403x.png" /> <ImageAsset Include="Assets.xcassets\contactCall.imageset\contactCall%402x.png" /> <ImageAsset Include="Assets.xcassets\contactCall.imageset\contactCall.png" /> <ImageAsset Include="Assets.xcassets\contactCall.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\contactEmail.imageset\contactEmail%403x.png" /> <ImageAsset Include="Assets.xcassets\contactEmail.imageset\contactEmail%402x.png" /> <ImageAsset Include="Assets.xcassets\contactEmail.imageset\contactEmail.png" /> <ImageAsset Include="Assets.xcassets\contactEmail.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\Gradient.imageset\Gradient%403x.png" /> <ImageAsset Include="Assets.xcassets\Gradient.imageset\Gradient%402x.png" /> <ImageAsset Include="Assets.xcassets\Gradient.imageset\Gradient.png" /> <ImageAsset Include="Assets.xcassets\Gradient.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\contact.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\home.imageset\whitehome30.png" /> <ImageAsset Include="Assets.xcassets\home.imageset\whitehome60.png" /> <ImageAsset Include="Assets.xcassets\home.imageset\whitehome90.png" /> <ImageAsset Include="Assets.xcassets\contact.imageset\whitephone30-1.png" /> <ImageAsset Include="Assets.xcassets\contact.imageset\whitephone60-1.png" /> <ImageAsset Include="Assets.xcassets\contact.imageset\whitephone90-1.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\1125 X 2436.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\1242 X 2688.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\1792 X 828.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\1920 X 1080 PX.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\1920 X 1080 PX%402x.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\2436 X 1125.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\2688 X 1242.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\320 X 480 PX.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\320 X 480 PX%402x.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\640 X 1136 PX.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\640 X 1136 PX-1.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\640 X 960 PX.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\828 X 1792.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\Contents.json" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\Default-Portrait.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\Default-Portrait%402x.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPhone 8, 9 - 1242 X 2208.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPhone 8,9 7- 750 X 1334.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPhone Landscape 2208 X 1242.png" /> <ImageAsset Include="Assets.xcassets\PoiUrl.imageset\PoiUrl%403x.png" /> <ImageAsset Include="Assets.xcassets\PoiUrl.imageset\PoiUrl%402x.png" /> <ImageAsset Include="Assets.xcassets\PoiUrl.imageset\PoiUrl.png" /> <ImageAsset Include="Assets.xcassets\PoiUrl.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-20x20%401x.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-20x20%402x.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-29x29%401x.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-29x29%402x.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-20x20%402x-1.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-40x40%402x.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-76x76%401x.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-76x76%402x.png" /> <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-83.5%402x.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\12.9” iPad Pro 2048 X 2732.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPad 768x1024.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPad 768x1024%402x.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPad 1024x768.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPad 1024x768%402x.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\768 X 1004.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\768 X 1004%402x.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPad 768x1024-1.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPad 768x1024%402x-1.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\1024 X 748.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\1024 X 748%402x.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPad 1024x768-1.png" /> <ImageAsset Include="Assets.xcassets\UpdatedLaunchImage.launchimage\iPad 1024x768%402x-1.png" /> <ImageAsset Include="Assets.xcassets\loadUp.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AnnoucementHorn.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\Holiday.imageset\Holiday%403x.png" /> <ImageAsset Include="Assets.xcassets\Holiday.imageset\Holiday%402x.png" /> <ImageAsset Include="Assets.xcassets\Holiday.imageset\Holiday.png" /> <ImageAsset Include="Assets.xcassets\Holiday.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\Attention.imageset\Attention%403x.png" /> <ImageAsset Include="Assets.xcassets\Attention.imageset\Attention%402x.png" /> <ImageAsset Include="Assets.xcassets\Attention.imageset\Attention.png" /> <ImageAsset Include="Assets.xcassets\Attention.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\Weather.imageset\Weather%403x.png" /> <ImageAsset Include="Assets.xcassets\Weather.imageset\Weather%402x.png" /> <ImageAsset Include="Assets.xcassets\Weather.imageset\Weather.png" /> <ImageAsset Include="Assets.xcassets\Weather.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AnnoucementHorn.imageset\Vector.png" /> <ImageAsset Include="Assets.xcassets\AnnoucementHorn.imageset\Vector %281%29.png" /> <ImageAsset Include="Assets.xcassets\AnnoucementHorn.imageset\Vector %282%29.png" /> <ImageAsset Include="Assets.xcassets\ConstructionImage.imageset\ConstructionImage%403x.png" /> <ImageAsset Include="Assets.xcassets\ConstructionImage.imageset\ConstructionImage%402x.png" /> <ImageAsset Include="Assets.xcassets\ConstructionImage.imageset\ConstructionImage.png" /> <ImageAsset Include="Assets.xcassets\ConstructionImage.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\FeedIcon.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\AddPostBtn.imageset\AddPostBtn%403x.png" /> <ImageAsset Include="Assets.xcassets\AddPostBtn.imageset\AddPostBtn%402x.png" /> <ImageAsset Include="Assets.xcassets\AddPostBtn.imageset\AddPostBtn.png" /> <ImageAsset Include="Assets.xcassets\AddPostBtn.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\FeedIcon.imageset\feed30.png" /> <ImageAsset Include="Assets.xcassets\FeedIcon.imageset\feed60.png" /> <ImageAsset Include="Assets.xcassets\FeedIcon.imageset\feed90.png" /> <ImageAsset Include="Assets.xcassets\UploadImage.imageset\UploadImage%403x.png" /> <ImageAsset Include="Assets.xcassets\UploadImage.imageset\UploadImage%402x.png" /> <ImageAsset Include="Assets.xcassets\UploadImage.imageset\UploadImage.png" /> <ImageAsset Include="Assets.xcassets\UploadImage.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\DeleteImage.imageset\DeleteImage%403x.png" /> <ImageAsset Include="Assets.xcassets\DeleteImage.imageset\DeleteImage%402x.png" /> <ImageAsset Include="Assets.xcassets\DeleteImage.imageset\DeleteImage.png" /> <ImageAsset Include="Assets.xcassets\DeleteImage.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\CloseImg.imageset\CloseImg%403x.png" /> <ImageAsset Include="Assets.xcassets\CloseImg.imageset\CloseImg%402x.png" /> <ImageAsset Include="Assets.xcassets\CloseImg.imageset\CloseImg.png" /> <ImageAsset Include="Assets.xcassets\CloseImg.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> <ImageAsset Include="Assets.xcassets\PublishImg.imageset\PublishImg%403x.png" /> <ImageAsset Include="Assets.xcassets\PublishImg.imageset\PublishImg%402x.png" /> <ImageAsset Include="Assets.xcassets\PublishImg.imageset\PublishImg.png" /> <ImageAsset Include="Assets.xcassets\PublishImg.imageset\Contents.json"> <Visible>False</Visible> </ImageAsset> </ItemGroup> <ItemGroup> <BundleResource Include="Resources\Logo.png" /> <BundleResource Include="Resources\share.png" /> <BundleResource Include="Resources\share%402x.png" /> <BundleResource Include="Resources\tickets%403x.png" /> <BundleResource Include="Resources\tickets%402x.png" /> <BundleResource Include="Resources\tickets.png" /> <BundleResource Include="GoogleService-Info.plist" /> <InterfaceDefinition Include="LaunchScreen.storyboard" /> </ItemGroup> <ItemGroup> <Reference Include="System" /> <Reference Include="System.Xml" /> <Reference Include="System.Core" /> <Reference Include="Xamarin.iOS" /> </ItemGroup> <ItemGroup> <PackageReference Include="Xamarin.Forms" Version="4.5.0.356" /> <PackageReference Include="Prism.DryIoc.Forms" Version="7.2.0.1422" /> <PackageReference Include="Xamarin.Essentials"> <Version>1.5.0</Version> </PackageReference> <PackageReference Include="Newtonsoft.Json"> <Version>12.0.3</Version> </PackageReference> <PackageReference Include="Xamarin.Forms.Visual.Material"> <Version>4.5.0.356</Version> </PackageReference> <PackageReference Include="Xamarin.Forms.PancakeView"> <Version>1.3.7</Version> </PackageReference> <PackageReference Include="Xamarin.Forms.GoogleMaps"> <Version>3.3.0</Version> </PackageReference> <PackageReference Include="Xamarin.FFImageLoading.Forms"> <Version>2.4.11.982</Version> </PackageReference> <PackageReference Include="Plugin.FirebasePushNotification"> <Version>2.3.6</Version> </PackageReference> <PackageReference Include="Xamarin.Plugin.Calendar"> <Version>1.0.3.200</Version> </PackageReference> <PackageReference Include="Microsoft.AppCenter.Crashes"> <Version>3.0.0</Version> </PackageReference> <PackageReference Include="Xamarin.Essentials.Interfaces"> <Version>1.5.0</Version> </PackageReference> <PackageReference Include="Xam.Plugin.Media"> <Version>4.0.1.5</Version> </PackageReference> <PackageReference Include="Plugin.Permissions"> <Version>3.0.0.12</Version> </PackageReference> </ItemGroup> <ItemGroup> <ProjectReference Include="..\VisitPikeville2\VisitPikeville2.csproj"> <Project>{7419ED46-B3A3-4BE1-8AC9-60582F43BB63}</Project> <Name>VisitPikeville2</Name> </ProjectReference> </ItemGroup> <ItemGroup> <ITunesArtwork Include="iTunesArtwork%402x" /> <ITunesArtwork Include="iTunesArtwork" /> </ItemGroup> <ItemGroup> <Folder Include="Assets.xcassets\UpdatedLaunchImage.launchimage\" /> <Folder Include="Services\" /> </ItemGroup> <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> </Project>

@mharrisonbit Je pense que la même chose que @hartez mentionnée s'applique à vous.

Dans le bit <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> , ajoutez cette balise: <MtouchLink>Full</MtouchLink> . Vous pouvez également le faire à partir de l'interface utilisateur en accédant aux propriétés du projet iOS, accédez au panneau de génération iOS et assurez-vous que le comportement de l'éditeur de liens est défini sur SDK uniquement , voir ci-dessous.

image

Bien sûr, assurez-vous de le faire pour la bonne configuration de construction, utilisez les comboboxes en haut de l'écran pour cela

J'ai essayé les deux mais je reçois toujours le courrier d'Apple.
Comment puis-je y remédier?

L'un de ces éléments peut-il contenir une référence à uiwebview?

 <PackageReference Include="Newtonsoft.Json">
      <Version>12.0.3</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Firebase.iOS.CloudMessaging">
      <Version>3.1.2</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Forms" Version="4.5.0.356" />
    <PackageReference Include="Xamarin.Essentials" Version="1.5.0" />
    <PackageReference Include="Xamarin.Forms.Visual.Material">
      <Version>4.5.0.356</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.IQKeyboardManager">
      <Version>1.4.1</Version>
    </PackageReference>

@EdoardoCinelli, on dirait que Firebase fait référence à UIWebView et ils y travaillent: https://github.com/xamarin/GoogleApisForiOSComponents/issues/369

@mharrisonbit juste pour mettre à jour les autres; nous avons bavardé un peu hors ligne, vous semblez avoir toutes les bonnes versions et tous les paramètres, mais ne semble toujours pas fonctionner. Vous m'avez déjà envoyé une liste de NuGets, pouvez-vous l'ajouter ici? Nous pouvons donc voir s'il y a quelque chose là-dedans qui pourrait causer des problèmes.

Salut!

J'ai le même problème. Nous avons discuté un peu par mail avec @jfversluis , et maintenant je vais continuer ici.

Voici ma liste de NuGets si cela aide:

AsyncAwaitBestPractices Version 4.1.0
AutoMapper Version 9.0.0
JetBrains.Annotations Version 2019.1.3
Microsoft.Identity.Client Version 4.8.2
Mobile.BuildTools Version 1.4.0.638
NLog.Targets.AppCenter Version 1.1.0
PCLCrypto Version 2.0.147
Plugin.BackgroundService Version 2.1.2340
Plugin.Permissions Version 5.0.0-beta
Plugin.PushNotification Version 3.1.1
Portable.BouncyCastle Version 1.8.6
Prism.Plugin.Popups Version 7.2.0.759
ReactiveUI Version 11.2.1
ReactiveUI.Fody Version 11.2.1
ReactiveUI.XamForms Version 11.2.1
Rg.Plugins.Popup Version 1.2.0.223
Xam.Plugin.Geolocator Version 4.6.2-beta
Xam.Plugin.Media Version 4.4.10-beta
Xam.Plugin.SimpleAudioPlayer Version 1.4.0
Xamarin.Azure.NotificationHubs.iOS Version 2.0.4
Xamarin.Essentials Version 1.5.0
Xamarin.FFImageLoading Version 2.4.11.982
Xamarin.FFImageLoading.Forms Version 2.4.11.982
Xamarin.FFImageLoading.Svg.Forms Version 2.4.11.982
Xamarin.FFImageLoading.Transformations Version 2.4.11.982
Xamarin.Forms Version 4.5.0.356
Prism.Unity.Forms Version 7.2.0.1422
Xamarin.Forms.Visual.Material Version 4.5.0.356
Microsoft.AppCenter.Crashes Version 3.0.0
Microsoft.AppCenter.Analytics Version 3.0.0
Microsoft.AppCenter Version 3.0.0
ZXing.Net.Mobile Version 2.4.1
ZXing.Net.Mobile.Forms Version 2.4.1
NLog Version 4.6.8

J'utilise AppCenter pour créer et publier sur testflight. Je ne l'ai pas écrit avant. J'ai supprimé toutes les références Firebase du code et de NuGet et je reçois toujours le courrier. AppCenter est-il le probolem?

@EdoardoCinelli pourriez-vous vérifier la configuration de votre build sur App Center?

image

Assurez-vous que vous avez sélectionné la version Xamarin.iOS 13.10 pour créer votre application

setting1
setting2
C'est ma configuration

@jfversluis voici les pépites que j'utilise dans le projet iOS, j'espère que cela aidera à comprendre quelque chose. Encore merci à tous pour l'aide. De plus, tout cela est archivé sur mon local, puis transféré dans les magasins de jeux.
<ItemGroup> <PackageReference Include="Xamarin.Forms" Version="4.5.0.356" /> <PackageReference Include="Prism.DryIoc.Forms" Version="7.2.0.1422" /> <PackageReference Include="Xamarin.Essentials"> <Version>1.5.0</Version> </PackageReference> <PackageReference Include="Newtonsoft.Json"> <Version>12.0.3</Version> </PackageReference> <PackageReference Include="Xamarin.Forms.Visual.Material"> <Version>4.5.0.356</Version> </PackageReference> <PackageReference Include="Xamarin.Forms.PancakeView"> <Version>1.3.7</Version> </PackageReference> <PackageReference Include="Xamarin.Forms.GoogleMaps"> <Version>3.3.0</Version> </PackageReference> <PackageReference Include="Xamarin.FFImageLoading.Forms"> <Version>2.4.11.982</Version> </PackageReference> <PackageReference Include="Plugin.FirebasePushNotification"> <Version>2.3.6</Version> </PackageReference> <PackageReference Include="Xamarin.Plugin.Calendar"> <Version>1.0.3.200</Version> </PackageReference> <PackageReference Include="Microsoft.AppCenter.Crashes"> <Version>3.0.0</Version> </PackageReference> <PackageReference Include="Xamarin.Essentials.Interfaces"> <Version>1.5.0</Version> </PackageReference> <PackageReference Include="Xam.Plugin.Media"> <Version>4.0.1.5</Version> </PackageReference> </ItemGroup>

@jfversluis voici les NuGets que nous utilisons:

<PackageReference Include="DLToolkit.Forms.Controls.ImageCropView" Version="1.0.7" />
<PackageReference Include="Microsoft.Identity.Client" Version="4.8.2" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
<PackageReference Include="Plugin.InAppBilling" Version="2.0.0" />
<PackageReference Include="Plugin.StoreReview" Version="2.0.0.5" />
<PackageReference Include="System.ComponentModel.Annotations" Version="4.7.0" />
<PackageReference Include="Telerik.UI.for.Xamarin" Version="2020.1.218.1" />
<PackageReference Include="Xam.Plugin.Media" Version="4.0.1.5" />
<PackageReference Include="Xam.Plugins.Forms.KeyboardOverlap"/>  
<PackageReference Include="Xamarin.Azure.NotificationHubs.iOS-updated"/>
<PackageReference Include="Xamarin.Essentials" Version="1.5.0" />
<PackageReference Include="Xamarin.FFImageLoading" Version="2.4.6.929" />
<PackageReference Include="Xamarin.FFImageLoading.Forms" Version="2.4.6.929" />
<PackageReference Include="Xamarin.FFImageLoading.Transformations" Version="2.4.6.929" />
<PackageReference Include="Xamarin.Forms" Version="4.5.0.356" />
<PackageReference Include="Xamarin.Forms.InputKit" Version="3.2.1" />
<PackageReference Include="Xamarin.Forms.RangeSlider" Version="1.0.2" />
<PackageReference Include="Microsoft.AppCenter.Analytics" Version="3.0.0" />
<PackageReference Include="Microsoft.AppCenter.Crashes" Version="3.0.0" />

D'accord, il semble que plusieurs d'entre vous utilisent le visuel Material qui dépend de MaterialComponents . La dernière version stable est 72.2.0.1 mais je suis tombé sur ce problème https://github.com/xamarin/XamarinComponents/issues/745 qui indique que la référence à UIWebView n'est supprimée que dans 92.0.0-rc1 .

Vérifiez si vous utilisez réellement le matériau dans votre projet. Sinon, essayez de supprimer la référence _ou_ ajoutez le 92.0.0-rc1 (ou rc2) à votre projet manuellement et voyez si cela résout le problème.

Pour les personnes qui construisent (également) sur Azure DevOps, sachez que vous ne construisez peut-être pas avec Xamarin.iOS 13.10. Vérifiez vos journaux pour voir s'il y a une sortie indiquant que l'indicateur experimental-xforms-product-type n'est pas valide. Si vous voyez cette sortie, vous créez une version antérieure de Xamarin.iOS.

Pour ceux sur Azure DevOps, suivez le lien ci-dessous et définissez la version Mono sur 6_6_1, qui s'appuie sur Xamarin.iOS 13.10

https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#how -can-i-manual-select-versions-of-tools-on-the- agent-macos-hébergé

Également testé sans Appcenter et sans firebase, webview, matériaux xamarin et xamarin essential et je reçois toujours le courrier. Quelqu'un peut-il me dire ce qui se passe? Comment puis-je vérifier si j'ai des références?

J'ai essayé de supprimer Xamarin.Forms.Visual.Material et j'ai toujours reçu le courrier.

ce sont les NuGets que nous utilisons:

<ItemGroup>
    <PackageReference Include="BruTile">
      <Version>1.0.0</Version>
    </PackageReference>
    <PackageReference Include="Com.OneSignal">
      <Version>3.7.3</Version>
    </PackageReference>
    <PackageReference Include="dotMorten.Xamarin.Forms.AutoSuggestBox">
      <Version>1.0.0</Version>
    </PackageReference>
    <PackageReference Include="ImageCropper.Forms">
      <Version>0.1.6</Version>
    </PackageReference>
    <PackageReference Include="Mapsui">
      <Version>1.4.8</Version>
    </PackageReference>
    <PackageReference Include="Mapsui.Forms">
      <Version>0.2.1</Version>
    </PackageReference>
    <PackageReference Include="Newtonsoft.Json">
      <Version>12.0.3</Version>
    </PackageReference>
    <PackageReference Include="PolylineEncoder.Net">
      <Version>1.0.1</Version>
    </PackageReference>
    <PackageReference Include="sqlite-net-pcl">
      <Version>1.6.292</Version>
    </PackageReference>
    <PackageReference Include="Xam.Plugin.DeviceInfo">
      <Version>4.1.1</Version>
    </PackageReference>
    <PackageReference Include="Xam.Plugin.Media">
      <Version>4.0.1.5</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Essentials">
      <Version>1.5.0</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Forms" Version="4.5.0.356" />
    <PackageReference Include="Xamarin.Forms.Extended.InfiniteScrolling">
      <Version>1.0.0-preview2</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.IQKeyboardManager">
      <Version>1.4.1</Version>
    </PackageReference>
  </ItemGroup>

@Flaviocrtt Après avoir retiré le nuget, assurez-vous de faire la "bin / obj dance". Supprimez le dossier bin et obj de votre projet et assurez-vous de faire une reconstruction complète afin que rien de mis en cache ne reste coincé là-dedans.

De plus, comment construisez-vous votre application? Azure DevOps, App Center, manuellement? Êtes-vous sûr d'avoir tous les bons paramètres en place?

Je viens de créer une version et je n'ai pas reçu ce message, je n'ai apporté aucune modification aux packages nuget qui ne sont référencés que par les modifications de conception demandées.

@mharrisonbit qu'entendez-vous exactement par «modifications de conception»?

Aucun changement majeur, juste une marge dans quelques vues. Je n'ai ajouté ni supprimé aucun élément (étiquettes, boutons, etc.) à aucune vue.

OK, c'est ... étrange. Peut-être que tout à coup, pour cette construction, des bits se sont mis en place et que vous avez un binaire approprié? Quoi qu'il en soit, content de voir que c'est résolu! :)

Je sais quelle est ma chance et ce n'était qu'une seule fois. lol j'espère que tout s'est mis en place et je suis prêt à partir de maintenant. Je remercie tout le monde pour toute l'aide.

@jfversluis Cela a fonctionné, j'ai supprimé Xamarin.Forms.Visual.Material, nettoyé la solution, supprimé les dossiers bin et obj, et même redémarré Visual Studio et macMini par garantie.
Je crée manuellement à l'aide de Visual Studio Preview pour Windows, connecté sur mac mini.
en fait, j'ai besoin du matériel visuel, je vais réinstaller mon application et je sais que si Apple commence à refuser mon application, je peux l'envoyer sans le matériel.
Avez-vous des prévisions pour mettre à jour le matériel visuel avec les corrections nécessaires?
Merci!

Super @Flaviocrtt! Merci de nous en informer!

Je pense que la mise à jour des choses matérielles est déjà en cours. Si vous souhaitez les utiliser maintenant, installez-le à nouveau, mais mettez à jour le MaterialComponents NuGet de votre projet iOS vers la dernière pré-version. Encore une fois, nettoyez tous les objets bin et obj, mais cela devrait fonctionner et vous permet d'utiliser du matériel :)

@EdoardoCinelli semble que nous avons

Ok, je l'ai réparé. C'était ma procédure.

Construisez sur Visual Studio dans win10 avec un mac-mini en ligne connecté via un réseau. Les étapes étaient les suivantes:

  • "bin / obj dance"
  • Désinstaller Xamarin.Visual.Material.Design du projet
  • "bin / obj dance"
  • Installer la version instable 92.0.0-rc2 de Xamarin.iOS.MaterialComponents
  • Installez Xamarin.Visual.Material.Design 4.5.0.356

Le seul problème était ce composant. La messagerie cloud Firebase n'était pas le problème. Thx pour l'aide.

Salut @jfversluis J'ai aussi ce problème, je n'utilise pas de composant matériel.
Ceci est ma configuration de construction - j'utilise AppCenter pour créer un fichier Ipa.

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\iPhone\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <MtouchArch>ARM64</MtouchArch>
    <CodesignKey>XXX</CodesignKey>
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
    <CodesignProvision>Automatic:AppStore</CodesignProvision>
    <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs>
    <MtouchLink>Full</MtouchLink>
  </PropertyGroup>

Liste des packages nuget:

<ItemGroup>
    <PackageReference Include="Xamarin.Forms" Version="4.5.0.356" />
    <PackageReference Include="Xamarin.Essentials" Version="1.3.1" />
    <PackageReference Include="sqlite-net-pcl">
      <Version>1.6.292</Version>
    </PackageReference>
    <PackageReference Include="Newtonsoft.Json">
      <Version>12.0.3</Version>
    </PackageReference>
    <PackageReference Include="Com.Airbnb.Xamarin.Forms.Lottie">
      <Version>3.0.3</Version>
    </PackageReference>
    <PackageReference Include="SkiaSharp">
      <Version>1.68.0</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.FFImageLoading">
      <Version>2.4.11.982</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.FFImageLoading.Forms">
      <Version>2.4.11.982</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.FFImageLoading.Svg">
      <Version>2.4.11.982</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.FFImageLoading.Svg.Forms">
      <Version>2.4.11.982</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.FFImageLoading.Transformations">
      <Version>2.4.11.982</Version>
    </PackageReference>
    <PackageReference Include="Xam.Plugins.Settings">
      <Version>3.1.1</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Google.iOS.MobileAds">
      <Version>7.47.0</Version>
    </PackageReference>
    <PackageReference Include="Plugin.InAppBilling">
      <Version>2.0.0</Version>
    </PackageReference>
    <PackageReference Include="Xam.Plugin.HtmlLabel">
      <Version>3.0.2.2</Version>
    </PackageReference>
    <PackageReference Include="Xam.Plugins.Forms.ProgressRing">
      <Version>0.1.2</Version>
    </PackageReference>
    <PackageReference Include="Acr.UserDialogs">
      <Version>7.1.0.440</Version>
    </PackageReference>
    <PackageReference Include="MarcTron.Admob">
      <Version>1.4.5</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Google.iOS.SignIn">
      <Version>4.4.0</Version>
    </PackageReference>
  </ItemGroup>

Configuration de la build App Center:
image

Veuillez donner des conseils.

@vunhutien essaie de mettre à jour les plugins

Merci @jfversluis , j'ai mis à niveau tous les plugins vers la dernière version, j'ai toujours un problème, une idée?

@vunhutien semble que ce problème pourrait être votre cause: https://github.com/xamarin/GoogleApisForiOSComponents/issues/380

@vunhutien semble que ce problème pourrait être votre cause: xamarin / GoogleApisForiOSComponents # 380

Merci beaucoup.

@ rdev24608 il semble que vous n'utilisez pas le package stable 4.5 qui est une exigence

@ rdev24608

Essaye ça
https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -594758733

Si cela ne fonctionne toujours pas, quelle est l'exception?

exception?

Essayez de vérifier quel paquet contient une référence à UIWebView en décompressant votre fichier * .ipa, cd dans le répertoire décompressé, et faites grep -lr "UIWebView" . depuis votre terminal.

Salut @abrari , mon package a montré: /Frameworks/PersonalizedAdConsent.framework/PersonalizedAdConsent
Je suppose que c'est sur Google Ad lib, non?

Salut @jfversluis J'ai également ce problème, j'ai mis à jour vers Xamarin.Forms 4.5.0.495 et Xamarin.iOS 13.14.1.39. J'ai également fait exactement les mêmes configurations que celles mentionnées dans le blog, mais je reçois toujours le message d'avertissement. Ceci est la configuration de mon projet et la liste des paquets nuget car je ne suis pas sûr de ce qui cause encore cette référence à UIWebView

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\iPhone\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<MtouchArch>ARM64</MtouchArch>
<CodesignKey>iPhone Distribution</CodesignKey>
<CodesignEntitlements>
</CodesignEntitlements>
<MtouchEnableSGenConc>true</MtouchEnableSGenConc>
<CodesignProvision>x</CodesignProvision>
<BuildIpa>true</BuildIpa>
<IpaPackageName>x</IpaPackageName>
<MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs>
<MtouchUseLlvm>true</MtouchUseLlvm>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Acr.UserDialogs">
<Version>7.1.0.442</Version>
</PackageReference>
<PackageReference Include="akavache">
<Version>6.5.1</Version>
</PackageReference>
<PackageReference Include="Autofac">
<Version>4.9.2</Version>
</PackageReference>
<PackageReference Include="Microsoft.AppCenter.Analytics">
<Version>2.0.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.AppCenter.Crashes">
<Version>2.0.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting">
<Version>3.3.1</Version>
</PackageReference>
<PackageReference Include="Newtonsoft.Json">
<Version>12.0.2</Version>
</PackageReference>
<PackageReference Include="Plugin.Multilingual">
<Version>1.0.2</Version>
</PackageReference>
<PackageReference Include="Plugin.Permissions">
<Version>3.0.0.12</Version>
</PackageReference>
<PackageReference Include="Polly">
<Version>7.1.0</Version>
</PackageReference>
<PackageReference Include="Rg.Plugins.Popup">
<Version>1.2.0.223</Version>
</PackageReference>
<PackageReference Include="System.Net.Http">
<Version>4.3.4</Version>
</PackageReference>
<PackageReference Include="Xam.Plugin.Connectivity">
<Version>3.2.0</Version>
</PackageReference>
<PackageReference Include="Xam.Plugin.Geolocator">
<Version>4.5.0.6</Version>
</PackageReference>
<PackageReference Include="Xam.Plugin.LatestVersion">
<Version>1.1.2</Version>
</PackageReference>
<PackageReference Include="Xam.Plugin.Media">
<Version>4.0.1.5</Version>
</PackageReference>
<PackageReference Include="Xam.Plugins.Forms.ImageCircle">
<Version>3.0.0.5</Version>
</PackageReference>
<PackageReference Include="Xamarin.Auth">
<Version>1.6.0.4</Version>
</PackageReference>
<PackageReference Include="Xamarin.Forms.Visual.Material">
<Version>4.5.0.495</Version>
</PackageReference>
<PackageReference Include="Xamarin.Plugin.FilePicker">
<Version>2.1.18</Version>
</PackageReference>
<PackageReference Include="Esri.ArcGISRuntime">
<Version>100.6.0</Version>
</PackageReference>
<PackageReference Include="Esri.ArcGISRuntime.Xamarin.Forms">
<Version>100.6.0</Version>
</PackageReference>
<PackageReference Include="NETStandard.Library">
<Version>2.0.3</Version>
</PackageReference>
<PackageReference Include="sqlite-net-pcl">
<Version>1.6.292</Version>
</PackageReference>
<PackageReference Include="Xamarin.Forms" Version="4.5.0.495" />
<PackageReference Include="Xamarin.Essentials" Version="1.2.0" />

@ rambo1223 voyant que vous utilisez Material, cela peut être le cas: https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -594599608

@jfversluis merci pour votre réponse rapide, j'utilise en fait la dernière version de Xamarin.Forms.Visual.Material comme version de Xamarin.Forms, dois-je installer Xamarin.iOS.MaterialComponents également?

Pour le moment; Oui. Nous avons un PR ouvert qui devrait mettre à jour la référence, mais pour l'instant, vous devez ajouter le dernier package Xamarin.iOS.MaterialComponents manuellement et cela devrait le corriger.

@jfversluis
Bonne journée! ayant le même e-mail d'avertissement dans mon application, n'utilisez aucun MaterialComponents Je suis mes packages, a également installé la dernière version stable de Xamarin.Forms, toutes les mises à jour et configurations nécessaires répertoriées dans ce fil de discussion.
Toutes les dernières versions stables des SDK sont également disponibles

a également appliqué la décompression de mon ipa et effectué grep et obtenu
SomeMobileApp.iOS.app/Xamarin.Forms.Platform.iOS.dll
SomeMobileApp.iOS.app/SomeMobileApp.iOS
SomeMobileApp.iOS.app/Xamarin.iOS.dll

voici une liste de dépendances dans le projet ios

<ItemGroup> <Reference Include="System" /> <Reference Include="System.Xml" /> <Reference Include="System.Core" /> <Reference Include="Xamarin.iOS" /> </ItemGroup> <ItemGroup> <PackageReference Include="EasyTipView"> <Version>1.0.1</Version> </PackageReference> <PackageReference Include="Flurl.Http"> <Version>2.4.2</Version> </PackageReference> <PackageReference Include="Microsoft.AppCenter.Analytics"> <Version>3.0.0</Version> </PackageReference> <PackageReference Include="Microsoft.AppCenter.Crashes"> <Version>3.0.0</Version> </PackageReference> <PackageReference Include="Microsoft.AspNet.WebApi.Client"> <Version>5.2.7</Version> </PackageReference> <PackageReference Include="Newtonsoft.Json"> <Version>12.0.3</Version> </PackageReference> <PackageReference Include="Rg.Plugins.Popup"> <Version>1.2.0.223</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.Buttons"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.Cards"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.Core"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.SfChart"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.SfListView"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.SfMaskedEdit"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.SfNumericTextBox"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.SfPicker"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.SfPopupLayout"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.SfProgressBar"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="Syncfusion.Xamarin.SfRotator"> <Version>17.4.0.55</Version> </PackageReference> <PackageReference Include="System.Reflection.Emit"> <Version>4.7.0</Version> </PackageReference> <PackageReference Include="Xamarin.Essentials"> <Version>1.5.2</Version> </PackageReference> <PackageReference Include="Xamarin.Forms" Version="4.5.0.530" /> <PackageReference Include="SkiaSharp.Views" Version="1.68.1.1" /> <PackageReference Include="SkiaSharp.Views.Forms" Version="1.68.1.1" /> <PackageReference Include="Xamarin.IQKeyboardManager"> <Version>1.4.1</Version> </PackageReference> </ItemGroup> <ItemGroup>

a également installé la dernière version stable de Xamarin.Forms, toutes les mises à jour et configurations nécessaires répertoriées dans ce thread.

De quelles versions s'agit-il? :)
Je ne vois aucun NuGets qui semble causer cela, donc cela doit être quelque chose dans votre configuration de build. Construisez-vous via Azure DevOps ou App Center par hasard? Avez-vous défini la bonne configuration pour la configuration de construction appropriée? Il serait utile d'en voir une partie.

Assurez-vous également de lire cette documentation de suivi de l'équipe Xamarin.iOS qui peut vous aider: https://docs.microsoft.com/en-us/xamarin/ios/release-notes/13/13.16#help -with- uiwebview-deprecation

@jfversluis Bonne journée!

Merci pour ces réponses rapides et votre aide.

J'ai lu l'article que vous avez partagé, je n'ai pas encore postulé --warn-on-type-ref = UIKit.UIWebView
mais j'ai essayé d'appliquer --optimization = force-lost-types-remove et j'ai obtenu une erreur, car dans les dernières mises à jour, il n'y a pas un tel argument.
Et oui, bien sûr, nous n'utilisons aucun UIWebView dans nos moteurs de rendu, mais nous utilisons WKWebView.

Nous construisons uniquement sur Windows PC connecté à mac avec les utilitaires MSBuild, nous n'utilisons aucune autre solution.

pour la configuration, l'indicateur nécessaire est appliqué à toutes les configurations, donc ne listera que le type de version
ce sera la liste des configurations:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> <DebugType>none</DebugType> <Optimize>true</Optimize> <OutputPath>bin\iPhone\Release</OutputPath> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <MtouchArch>ARM64</MtouchArch> <ConsolePause>false</ConsolePause> <CodesignKey>iPhone Developer</CodesignKey> <MtouchLink>SdkOnly</MtouchLink> <MtouchSdkVersion>13.4</MtouchSdkVersion> <CodesignEntitlements>Entitlements.plist</CodesignEntitlements> <MtouchExtraArgs>--optimize=experemental-xforms-product-type</MtouchExtraArgs> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' "> <DebugType>none</DebugType> <Optimize>True</Optimize> <OutputPath>bin\iPhone\Ad-Hoc</OutputPath> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <ConsolePause>False</ConsolePause> <MtouchArch>ARM64</MtouchArch> <MtouchLink>SdkOnly</MtouchLink> <MtouchSdkVersion>13.4</MtouchSdkVersion> <BuildIpa>True</BuildIpa> <CodesignProvision> </CodesignProvision> <CodesignKey>iPhone Developer</CodesignKey> <CodesignEntitlements> </CodesignEntitlements> <CodesignExtraArgs /> <CodesignResourceRules /> <MtouchExtraArgs>--optimize=experemental-xforms-product-type</MtouchExtraArgs> </PropertyGroup>

ceci est une liste de versions:
`=== Visual Studio Community 2019 pour Mac ===

Version 8.5.1 (construction 42)

=== Mono Framework MDK ===

Durée:
Mono 6.8.0.123 (2019-10 / 1d0d939dc30) (64 bits)
Version du paquet: 608000123

SDK MSBuild: /Library/Frameworks/Mono.framework/Versions/6.8.0/lib/mono/msbuild/Current/bin/Sdks

=== Outils de développement Apple ===

Xcode 11.4 (16134)
Construire 11E146

=== Xamarin.Mac ===

Version: 6.16.0.11 (Communauté Visual Studio)
Hash: aa73e4125
Succursale: d16-5-xcode11.4
Date de construction: 2020-03-25 11: 04: 02-0400

=== Xamarin.iOS ===

Version: 13.16.0.11 (Communauté Visual Studio)
Hash: aa73e4125
Succursale: d16-5-xcode11.4
Date de construction: 2020-03-25 11: 04: 03-0400
=== Xamarin.Android ===

Version: 10.2.0.100 (Communauté Visual Studio)
Commit: xamarin-android / d16-5 / 988c811
SDK Android: / Utilisateurs / sergiiputintsev / Bibliothèque / Android / sdk
Versions Android prises en charge:
8.1 (niveau d'API 27)

Version des outils SDK: 26.1.1
Version des outils de la plate-forme SDK: 28.0.1
Version des outils de création du SDK: 28.0.3

Informations de construction:
Mono: c0c5c78
Java.Interop: xamarin / java.interop / d16-5 @ fc18c54
ProGuard: xamarin / proguard / master @ 905836d
SQLite: xamarin / sqlite / 3.28. 0 @ 46204c4
Outils Xamarin.Android: xamarin / xamarin-android-tools / d16-5 @ 9f4ed4b

=== Système d'exploitation ===

Mac OS X 10.15.3
Darwin 19.3.0 Darwin Kernel version 19.3.0
Jeu 9 janvier 20:58:23 PST 2020
»

Je pense également que cela n'est pas lié aux bibliothèques, car grep montre l'occurrence de UIWebView dans SomeMobileApp.iOS.app/Xamarin.Forms.Platform.iOS.dll
SomeMobileApp.iOS.app/SomeMobileApp.iOS
SomeMobileApp.iOS.app/Xamarin.iOS.dll

mais j'ai essayé d'appliquer --optimization = force-lost-types-remove et j'ai obtenu une erreur, car dans les dernières mises à jour, il n'y a pas un tel argument.

Je ne sais pas ce que vous entendez par là. J'interprète cela comme; vous avez essayé d'utiliser cet argument, mais cela n'a pas fonctionné. Quelle erreur avez-vous obtenue en utilisant ceci?

C'est étrange. Tout semble être en ordre, mais nous devons manquer quelque chose.

Maintenant que je regarde de près , vous csproj je vois le drapeau que vous utilisez a une faute de frappe <MtouchExtraArgs>--optimize=experemental-xforms-product-type</MtouchExtraArgs> devrait être <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs> avis experemental est mal orthographié

J'ai eu ce problème aussi mais il a disparu .. Je pense que tout était parfaitement en ordre cependant. Je n'utilisais pas de matériel.
Xamarin.Forms 4.5.0.530
Xamarin.IOS 13.16.0.11

Je ne sais pas vraiment ce qui l'a finalement résolu car --warn-on-type-ref=UIKit.UIWebView n'arrêtait pas de se plaindre qu'il y avait encore des références dans Xamarin.Forms.Platform.IOS et j'ai tellement essayé de m'en débarrasser, mais vous pouvez essayer ceci:

  • supprimer les dossiers bin & obj.
  • supprimer le cache sur le Mac dans ~/Library/Caches/Xamarin/mtbs

--warn-on-type-ref=UIKit.UIWebView dit toujours qu'il y a des références mais l'App Store ne se plaint plus. J'espère que ce n'est pas un hasard.

Héy,
a toujours le même problème. J'ai essayé toutes les choses, même le "--warn-on-type-ref = UIKit.UIWebView" et il fait référence à:
Une ou plusieurs référence (s) au type 'UIKit.UIWebView' existe toujours dans 'Xamarin.Forms.Platform.iOS, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = null' après la liaison (même avant la liaison)

J'utilise Xamarin.Forms.iOS 4.5.0.617 (dernier) et je n'ai utilisé aucune référence dans mon code iOS.
Que puis-je faire pour trouver le problème?

Éditer:
AppConnect fait toujours référence au problème, je construis mon application à l'aide d'appcenter avec Xamarin.iOS 13.14 (Mono 6.8) et XCode 11.4.
L'indicateur de référence --optimize = experimental-xforms-product-type a été défini, mais rien n'a changé ...

Pourriez-vous s'il vous plaît trouver mon adresse e-mail sur mon profil GitHub et me contacter? Il n'y a pas eu de cas que nous n'avons pas pu résoudre, alors réparons-le pour vous!

Salut @jfversluis ,
J'ai eu le même problème que de @ R41z0r

Tout d'abord, j'ai suivi votre article - https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/

Ensuite, j'ai identifié manuellement les dll qui pourraient référencer UIWebView.

  • Xamarin.auth

  • MonoTouch.Dialog

Après les avoir supprimés de mon projet, j'ai soumis à nouveau l'application au stockage et je reçois toujours le même avertissement d'Apple.
Ensuite, j'ai découvert --warn-on-type-ref = UIKit.UIWebView .

Après avoir utilisé --warn-on-type-ref = UIKit.UIWebView dans mon projet, l'erreur suivante s'est produite.
Une ou plusieurs référence (s) au type 'UIKit.UIWebView' existe toujours dans 'Xamarin.Forms.Platform.iOS, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = null' après la liaison (même avant la liaison)

Version de Xamarin.Forms - 4.6.0.726
Version Xamarin.iOS - 13.16.0.13
Comportement de l'éditeur de liens - SDK uniquement
Arguments mtouch - --optimize = experimental-xforms-product-type

J'ai vérifié le Xamarin.Forms.Platform.iOS à l'aide du navigateur d'objets. Je soupçonne qu'il contient toujours WebViewRenderer. Reportez-vous à la capture d'écran ci-jointe
xamarin ios

Est-ce que je fais quelque chose de mal ici?

Je suis dans le meme bateau. Je ne peux pas soumettre mon pipeline Azure à Apple sans le rejet d'erreur.
Voir ma question stackoverflow pour plus de détails https://stackoverflow.com/questions/61567850/still-getting-itms-90809-deprecated-api-usage-after-using-optimize-force-reje?noredirect=1#comment108910675_61567850

Quels sont les arguments mtouch corrects à saisir? Est-ce
--optimize=experimental-xforms-product-type
ou
--optimize=force-rejected-types-removal

ou les deux?

Ok, je suis toujours coincé. J'ai fait quelques tests avec mon projet et c'est ce que j'ai découvert.
Si je l'exécute avec seulement --warn-on-type-ref = UIKit.UIWebView -wa rnaserror: 1503
ma construction échoue avec le MT1503 qui est l'UIWebView est toujours présent après la liaison.
Si je l'exécute avec l'avertissement plus --optimize = experimental-xforms-product-type
J'obtiens le même résultat, erreur sur MT1503, il semble donc que cela ne fasse rien.
Si je l'exécute avec --optimize = force-lost-types-remove, ma construction réussit sans aucun message sur quoi que ce soit UIWebView après la liaison.

Dans mon vrai pipeline, j'exécutais --optimize = force-lost-types-remove, mais Apple le rejette toujours. Donc, je ne comprends pas quel est le problème. Je n'utilise UIWebView nulle part dans mon projet.

>

Juste pour mentionner, mon problème était, j'ai oublié de mettre l'argument sur tout
instances (debug / release, simulateur iPhone / iPhone).

Vérifiez que cela vous aidera peut-être.

@ R41z0r Merci. Ouais, il est défini, je peux le voir dans mes journaux de construction azure. C'est un problème tellement ennuyeux car mon pipeline de build est inutile à ce stade et j'ai des testeurs / parties prenantes qui font sortir les builds hebdomadaires via testflight.

Enfin réussi à effacer la vérification de la pomme. Dans mon cas, il y avait une bibliothèque ( Branch-Xamarin-Linking-SDK ) qui était responsable du rejet de l'application. Je viens de le mettre à jour et l'application réussit l'examen de la pomme. J'utilisais une ancienne version de cette bibliothèque. La grande tâche était d'identifier la bibliothèque parmi tant d'autres dans notre projet.
Après avoir passé quelques jours là-dessus, je peux dire, --warn-on-type-ref = UIKit.UIWebView ne donne pas de vrais résultats. S'il vous reste un avertissement dans les journaux de construction, essayez de le soumettre à testflight.
La meilleure approche pour procéder est de mettre à jour toutes les bibliothèques avec la dernière version et d'ajuster votre code source en conséquence. Si cela ne fonctionne toujours pas, essayez de supprimer les bibliothèques les plus douteuses une par une et de commenter le code de cette bibliothèque dans votre projet, puis de soumettre les versions à testflight. Je sais que cela prend un peu de temps, mais cela vaut la peine de passer du temps sur votre projet pour passer le rejet de la pomme.

J'ai oublié de revenir et de publier ma méthode pour que mon application passe la vérification Apple. J'avais tellement de messages là-bas que j'ai manqué de revenir à celui-ci.

Ce qui a fonctionné pour moi a été la construction locale et l'empaquetage du fichier ipa. Sur mon mac, j'ai ensuite changé l'extension ipa en zip et je l'ai décompressée. J'ai utilisé le terminal pour aller dans le "dossier" YOURAPPNAME.app et utilisé grep -r UIWebView . pour rechercher des références. N'oubliez pas le . pour qu'il recherche le répertoire courant. J'ai manqué cela au début et j'ai reçu un message indiquant que grep écoutait sur stdin.

Pour moi, cela a abouti à une ligne comme celle-ci:
Binary file ./Frameworks/PersonalizedAdConsent.framework/PersonalizedAdConsent matches

Maintenant, la chose importante à noter est que l'éditeur de liens n'a jamais averti à ce sujet, donc je n'étais absolument pas au courant. Dans mon cas, cela faisait partie de Firebase / Admob. Je n'avais qu'une seule version derrière et la mise à jour vers la dernière a résolu mon problème.

J'utilise toujours --optimize=force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503 comme argument mtouch. Mais les builds passent maintenant.

J'espère que cela aidera quelqu'un à trouver la cause première plus rapidement.

J'ai mis à jour Visual Studio et Xcode à la dernière version, mais --optimize=experimental-xforms-product-type ne fonctionnait toujours pas pour moi.
Heureusement, --optimize=experimental-xforms-product-type --optimize=+force-rejected-types-removal fait.

mais j'ai essayé d'appliquer --optimization = force-lost-types-remove et j'ai obtenu une erreur, car dans les dernières mises à jour, il n'y a pas un tel argument.

Je ne sais pas ce que vous entendez par là. J'interprète cela comme; vous avez essayé d'utiliser cet argument, mais cela n'a pas fonctionné. Quelle erreur avez-vous obtenue en utilisant ceci?

C'est étrange. Tout semble être en ordre, mais nous devons manquer quelque chose.

--optimization = la suppression des types rejetés par la force entraîne une erreur mono Argument de ligne de commande inconnu

mais j'ai essayé d'appliquer --optimization = force-lost-types-remove et j'ai obtenu une erreur, car dans les dernières mises à jour, il n'y a pas un tel argument.

Je ne sais pas ce que vous entendez par là. J'interprète cela comme; vous avez essayé d'utiliser cet argument, mais cela n'a pas fonctionné. Quelle erreur avez-vous obtenue en utilisant ceci?
C'est étrange. Tout semble être en ordre, mais nous devons manquer quelque chose.

--optimization = la suppression des types rejetés par la force entraîne une erreur mono Argument de ligne de commande inconnu

Salut,
L'argument --optimization ne devrait-il pas être --optimize

@taublast @Bradtus c'est correct. Il existe une page de documentation où l'optimisation a été écrite par erreur. Il devrait être optimisé

Voici le même problème. N'est-il pas possible qu'aujourd'hui nous soyons bloqués pour cela alors qu'Apple conseille de déprécier depuis quelques mois.

@biapar

Salut @biapar vous avez tout à fait raison. Et vous ne devriez pas être bloqué par cela, car la solution que nous avons en place est également là depuis quelques mois maintenant pour vous. Et il a été prouvé que cela fonctionne à chaque fois.

Faites-moi savoir ce qui ne fonctionne pas pour vous et nous pouvons le découvrir

@biapar

J'ai déjà tout fait (en mode RELEASE). Je vais réessayer étape par étape.
image

image

image

=== Communauté Visual Studio 2019 pour Mac ===

Version 8.5.5 (build 7)
UUID d'installation: 4ca0550e-38d1-40b2-a470-7ae00766fcac
GTK + 2.24.23 (thème Raleigh)
Xamarin.Mac 6.14.1.39 (d16-5 / 30e8706b4)

Package version: 608000099

=== Mono Framework MDK ===

Durée:
Mono 6.8.0.99 (2019-10 / 1182f8cbf5b) (64 bits)
Version du paquet: 608000099

=== Roslyn (service linguistique) ===

3.5.0-beta4-20125-04 + 1baa0b3063238ed752ad1f0368b1df6b6901373e

=== NuGet ===

Version: 5.4.0.6315

=== SDK .NET Core ===

SDK: /usr/local/share/dotnet/sdk/3.1.200/Sdks
SDK Versioni:
3.1.200
3.1.102
3.1.101
3.0.101
3.0.100
2.1.701
2.1.700
2.1.505
2.1.504
SDK de MSBuild: /Library/Frameworks/Mono.framework/Versions/6.8.0/lib/mono/msbuild/Current/bin/Sdks

=== Runtime di .NET Core ===

Exécution: / usr / local / share / dotnet / dotnet
Runtime Versioni:
3.1.2
3.1.1
3.0.1
3.0.0
2.1.17
2.1.16
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.9
2.1.8

=== Xamarin.Profiler ===

Version: 1.6.12.26
Percorso: / Applications / Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Updater ===

Version: 11

=== Outils de développement Apple ===

Xcode 11.4.1 (16137)
Construire 11E503a

=== Xamarin.Mac ===

Version: 6.16.0.13 (Communauté Visual Studio)
Hash: b75deaf82
Succursale: d16-5-xcode11.4
Date de construction: 2020-04-01 21: 33: 18-0400

=== Xamarin.iOS ===

Version: 13.16.0.13 (Communauté Visual Studio)
Hash: b75deaf82
Succursale: d16-5-xcode11.4
Date de construction: 2020-04-01 21: 33: 19-0400

=== Xamarin Designer ===

La dernière version: 16.5.0.471
Hash: 35aa4889d
Branche: télécommandes / origine / d16-5
Date de construction: 2020-02-25 00:52:08 UTC

=== Xamarin.Android ===

Version: 10.2.0.100 (Communauté Visual Studio)
Commit: xamarin-android / d16-5 / 988c811
SDK Android: / Users / biagioparuolo / Library / Developer / Xamarin / android-sdk-macosx
Versione di Android pris en charge:
8.0 (API livello 26)
8.1 (API livello 27)

Version des outils du SDK: 26.1.1
Versione degli strumenti della piattaforma SDK: 30.0.1
Version degli strumenti di compilazione SDK: 29.0.2

Informazioni sulla compilazione:
Mono: c0c5c78
Java.Interop: xamarin / java.interop / d16-5 @ fc18c54
ProGuard: xamarin / proguard / master @ 905836d
SQLite: xamarin / sqlite / 3.28. 0 @ 46204c4
Outils Xamarin.Android: xamarin / xamarin-android-tools / d16-5 @ 9f4ed4b

=== Microsoft Mobile OpenJDK ===

SDK Java: /Users/biagioparuolo/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_8.0.25
1.8.0-25
Il codice EPL di Android Designer est disponible qui:
https://github.com/xamarin/AndroidDesigner.EPL

=== Gestionnaire de SDK Android ===

La dernière version: 16.5.0.39
Hash: 6fb4c79
Branche: télécommandes / origine / d16-5
Date de construction: 2020-04-29 20:09:00 UTC

=== Gestionnaire de périphériques Android ===

La dernière version: 16.5.0.73
Hash: dff2f03
Branche: télécommandes / origine / d16-5
Date de construction: 2020-04-29 20:09:20 UTC

=== Inspecteur Xamarin ===

La dernière version: 1.4.3
Hash: db27525
Branche: version 1.4
Date de construction: lun 09 juillet 2018 21:20:18 GMT
Compatibilité client: 1

=== Informations sur la construction ===

ID du communiqué: 805050007
Révision Git: f7b7ac4291b7712b5e02dd65d45685346f321ded
Date de construction: 2020-04-30 11: 54: 56-04
Branche de construction: release-8.5
Extensions Xamarin: f7b7ac4291b7712b5e02dd65d45685346f321ded

=== Système d'exploitation ===

Mac OS X 10.15.4
Darwin 19.4.0 Darwin Kernel version 19.4.0
Mer 4 mars 22:28:40 PST 2020
racine: xnu-6153.101.6 ~ 15 / RELEASE_X86_64 x86_64

=== Extensions installées par l'utilisateur activées ===

Extension Xamarin.Forms HotReload 1.4.0
Extension MonoGame 3.7.1.189
Styler XAML 2.0.1

Avez-vous également soumis une version à l'App Store? Je pense qu'il y a des cas où les avertissements dans la sortie peuvent donner de faux positifs. En outre, archivez-vous votre application via Visual Studio pour Mac ou le faites-vous via App Center ou Azure DevOps par hasard?

@biapar, votre autre option consiste à parcourir la sortie de votre application pour localiser ce qui fait toujours référence à UIWebView

https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -624655801
Ou vous pouvez déposer toutes vos dll dans vsmac et inspecter / rechercher les types de types de cette façon
https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -621915045

Avez-vous également soumis une version à l'App Store? Je pense qu'il y a des cas où les avertissements dans la sortie peuvent donner de faux positifs. En outre, archivez-vous votre application via Visual Studio pour Mac ou le faites-vous via App Center ou Azure DevOps par hasard?

J'utilise Visual Studio sur Mac et Windows.

mais j'ai essayé d'appliquer --optimization = force-lost-types-remove et j'ai obtenu une erreur, car dans les dernières mises à jour, il n'y a pas un tel argument.

Je ne sais pas ce que vous entendez par là. J'interprète cela comme; vous avez essayé d'utiliser cet argument, mais cela n'a pas fonctionné. Quelle erreur avez-vous obtenue en utilisant ceci?

C'est étrange. Tout semble être en ordre, mais nous devons manquer quelque chose.

--optimization = la suppression des types rejetés par la force entraîne une erreur mono Argument de ligne de commande inconnu

mais j'ai essayé d'appliquer --optimization = force-lost-types-remove et j'ai obtenu une erreur, car dans les dernières mises à jour, il n'y a pas un tel argument.

Je ne sais pas ce que vous entendez par là. J'interprète cela comme; vous avez essayé d'utiliser cet argument, mais cela n'a pas fonctionné. Quelle erreur avez-vous obtenue en utilisant ceci?
C'est étrange. Tout semble être en ordre, mais nous devons manquer quelque chose.

--optimization = la suppression des types rejetés par la force entraîne une erreur mono Argument de ligne de commande inconnu

Salut,
L'argument --optimization ne devrait-il pas être --optimize

Wow gentil!
@jfversluis ici (https://docs.microsoft.com/en-us/xamarin/ios/release-notes/13/13.16) ils vous donnent juste la mauvaise ligne:

Une solution efficace consiste à ajouter --optimization = force-lost-types-remove aux arguments mtouch supplémentaires de votre projet. Cela supprimera les traces d'UIWebView de l'application. Cependant, tout code faisant référence au type ne fonctionnera pas correctement (attendez-vous à des exceptions ou des plantages). Cela ne doit être utilisé que si vous êtes sûr que le code n'est pas accessible au moment de l'exécution (même s'il était accessible via une analyse statique).

Quoi qu'il en soit, j'ai réussi à le transmettre à l'AppStore avec ce qui suit:

  1. activer les builds incrémentiels OFF (important)
  2. beaucoup de trucs supplémentaires: --optimize = experimental-xforms-product-type --optimize = + force-lost-types-remove --warn-on-type-ref = UIKit.UIWebView -wa rnaserror: 1503

ici (https://docs.microsoft.com/en-us/xamarin/ios/release-notes/13/13.16) ils vous donnent juste la mauvaise ligne:

J'ai ouvert un PR sur ce document pour résoudre ce problème. Il y a quelques autres personnes qui m'ont contacté avec qui travaille maintenant, mais malheureusement, il n'a pas encore fusionné.

Heureux de vous entendre corrigé!

@jfversluis J'ai le même problème avec ce problème de
J'ai essayé chaque solution fournie par vous et d'autres gars.

  1. J'ai changé le comportement du lien en Link All.

  2. J'ai ajouté les paramètres MTouch Link --optimize = experimental-xforms-product-type --optimize = force-lost-types-remove --warn-on-type-ref = UIKit.UIWebView

  3. Package nuget mis à niveau pour xamarin.Forms vers la dernière version (4.6.0.726)

  4. J'utilise la dernière version de la communauté Visual Studio pour Mac:
    Visual Studio Community 2019 pour Mac
    Version 8.5.5 (build 7)

  5. Mon Xamarin.iOS est 13.16.0.13:
    Xamarin.iOS
    Version: 13.16.0.13 (Communauté Visual Studio)
    Hash: b75deaf82
    Succursale: d16-5-xcode11.4
    Date de construction: 2020-04-01 21: 33: 19-0400

Mais je reçois toujours le message de problème de dépréciation UIWebView d'Apple lorsque j'ai poussé une nouvelle version vers testflight.
Je reçois toujours ce message lorsque j'ai créé une version.
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

Pouvez-vous me dire ce qui me manque? Que dois-je faire pour résoudre ce problème.

Mon projet a une référence à un autre projet de bibliothèque, qui est un projet Visual Studio, il a généré une bibliothèque à utiliser dans ce projet.

Voici la liste des packages nuget de mon projet.
<ItemGroup> <Reference Include="Plugin.Settings, Version=3.1.1.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Xam.Plugins.Settings.3.1.1\lib\Xamarin.iOS10\Plugin.Settings.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Plugin.Settings.Abstractions, Version=3.1.1.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Xam.Plugins.Settings.3.1.1\lib\Xamarin.iOS10\Plugin.Settings.Abstractions.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Sockets.Plugin, Version=2.0.2.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\rda.SocketsForPCL.2.0.2\lib\Xamarin.iOS10\Sockets.Plugin.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Sockets.Plugin.Abstractions, Version=2.0.2.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\rda.SocketsForPCL.2.0.2\lib\Xamarin.iOS10\Sockets.Plugin.Abstractions.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="SQLiteNetExtensions, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\SQLiteNetExtensions.2.1.0\lib\netstandard1.1\SQLiteNetExtensions.dll</HintPath> </Reference> <Reference Include="SQLiteNetExtensionsAsync, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\SQLiteNetExtensions.Async.2.1.0\lib\netstandard1.1\SQLiteNetExtensionsAsync.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Xml" /> <Reference Include="System.Core" /> <Reference Include="Xamarin.iOS" /> <Reference Include="Acr.Support.iOS"> <HintPath>..\packages\Acr.Support.2.1.0\lib\Xamarin.iOS10\Acr.Support.iOS.dll</HintPath> </Reference> <Reference Include="OxyPlot.Xamarin.iOS"> <HintPath>..\packages\OxyPlot.Xamarin.iOS.1.0.0\lib\Xamarin.iOS10\OxyPlot.Xamarin.iOS.dll</HintPath> </Reference> <Reference Include="Microsoft.CSharp" /> <Reference Include="System.IO.Compression" /> <Reference Include="System.Net.Http" /> <Reference Include="PCLCrypto"> <HintPath>..\packages\PCLCrypto.2.0.147\lib\xamarinios10\PCLCrypto.dll</HintPath> </Reference> <Reference Include="System.Json" /> <Reference Include="ICSharpCode.SharpZipLib.Portable"> <HintPath>..\packages\SharpZipLib.Portable.0.86.0.0003\lib\portable-net45+netcore45+wp8+win8+wpa81+MonoTouch+MonoAndroid+Xamarin.iOS10\ICSharpCode.SharpZipLib.Portable.dll</HintPath> </Reference> <Reference Include="SQLitePCL.raw"> <HintPath>..\packages\SQLitePCL.raw.0.9.3\lib\Xamarin.iOS10\SQLitePCL.raw.dll</HintPath> </Reference> <Reference Include="SQLitePCL.ugly"> <HintPath>..\packages\SQLitePCL.ugly.0.9.3\lib\portable-net45+netcore45+wp8+MonoAndroid10+MonoTouch10+Xamarin.iOS10\SQLitePCL.ugly.dll</HintPath> </Reference> <Reference Include="mscorlib" /> <Reference Include="OxyPlot.Xamarin.Forms"> <HintPath>..\packages\OxyPlot.Xamarin.Forms.1.0.0\lib\Xamarin.iOS10\OxyPlot.Xamarin.Forms.dll</HintPath> </Reference> <Reference Include="OxyPlot.Xamarin.Forms.Platform.iOS"> <HintPath>..\packages\OxyPlot.Xamarin.Forms.1.0.0\lib\Xamarin.iOS10\OxyPlot.Xamarin.Forms.Platform.iOS.dll</HintPath> </Reference> <Reference Include="Validation"> <HintPath>..\packages\Validation.2.4.22\lib\netstandard1.3\Validation.dll</HintPath> </Reference> <Reference Include="BTProgressHUD"> <HintPath>..\packages\BTProgressHUD.1.3.2\lib\xamarinios10\BTProgressHUD.dll</HintPath> </Reference> <Reference Include="OpenTK-1.0" /> <Reference Include="System.Xml.Linq" /> <Reference Include="Plugin.Permissions"> <HintPath>..\packages\Plugin.Permissions.6.0.1\lib\xamarinios10\Plugin.Permissions.dll</HintPath> </Reference> <Reference Include="Xamarin.Forms.Core"> <HintPath>..\packages\Xamarin.Forms.4.6.0.726\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath> </Reference> <Reference Include="Xamarin.Forms.Platform"> <HintPath>..\packages\Xamarin.Forms.4.6.0.726\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath> </Reference> <Reference Include="Xamarin.Forms.Xaml"> <HintPath>..\packages\Xamarin.Forms.4.6.0.726\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath> </Reference> <Reference Include="SQLitePCLRaw.core"> <HintPath>..\packages\SQLitePCLRaw.core.1.1.11\lib\Xamarin.iOS10\SQLitePCLRaw.core.dll</HintPath> </Reference> <Reference Include="SQLitePCLRaw.provider.sqlite3"> <HintPath>..\packages\SQLitePCLRaw.provider.sqlite3.ios_unified.1.1.11\lib\Xamarin.iOS10\SQLitePCLRaw.provider.sqlite3.dll</HintPath> </Reference> <Reference Include="SQLitePCLRaw.batteries_green"> <HintPath>..\packages\SQLitePCLRaw.bundle_green.1.1.11\lib\Xamarin.iOS10\SQLitePCLRaw.batteries_green.dll</HintPath> </Reference> <Reference Include="SQLitePCLRaw.batteries_v2"> <HintPath>..\packages\SQLitePCLRaw.bundle_green.1.1.11\lib\Xamarin.iOS10\SQLitePCLRaw.batteries_v2.dll</HintPath> </Reference> <Reference Include="SQLite-net"> <HintPath>..\packages\sqlite-net-pcl.1.5.231\lib\netstandard1.1\SQLite-net.dll</HintPath> </Reference> <Reference Include="WebP.Touch"> <HintPath>..\packages\WebP.Touch.1.0.8\lib\Xamarin.iOS10\WebP.Touch.dll</HintPath> </Reference> <Reference Include="PropertyChanged"> <HintPath>..\packages\PropertyChanged.Fody.2.5.13\lib\netstandard1.0\PropertyChanged.dll</HintPath> </Reference> <Reference Include="MvvmCross"> <HintPath>..\packages\MvvmCross.6.2.1\lib\xamarinios10\MvvmCross.dll</HintPath> </Reference> <Reference Include="MvvmCross.Plugin.Color"> <HintPath>..\packages\MvvmCross.Plugin.Color.6.2.1\lib\xamarinios10\MvvmCross.Plugin.Color.dll</HintPath> </Reference> <Reference Include="MvvmCross.Plugin.File"> <HintPath>..\packages\MvvmCross.Plugin.File.6.2.1\lib\xamarinios10\MvvmCross.Plugin.File.dll</HintPath> </Reference> <Reference Include="MvvmCross.Plugin.Messenger"> <HintPath>..\packages\MvvmCross.Plugin.Messenger.6.2.1\lib\netstandard2.0\MvvmCross.Plugin.Messenger.dll</HintPath> </Reference> <Reference Include="MvvmCross.Plugin.ResourceLoader"> <HintPath>..\packages\MvvmCross.Plugin.ResourceLoader.6.2.1\lib\xamarinios10\MvvmCross.Plugin.ResourceLoader.dll</HintPath> </Reference> <Reference Include="OxyPlot"> <HintPath>..\packages\OxyPlot.Core.2.0.0\lib\netstandard1.0\OxyPlot.dll</HintPath> </Reference> <Reference Include="Splat"> <HintPath>..\packages\Splat.5.0.2\lib\xamarinios10\Splat.dll</HintPath> </Reference> <Reference Include="System.Runtime.Serialization" /> <Reference Include="System.Collections.Immutable"> <HintPath>..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll</HintPath> </Reference> <Reference Include="ReactiveUI"> <HintPath>..\packages\ReactiveUI.9.0.1\lib\xamarinios10\ReactiveUI.dll</HintPath> </Reference> <Reference Include="Plugin.BLE.Abstractions"> <HintPath>..\packages\Plugin.BLE.2.1.1\lib\Xamarin.iOS10\Plugin.BLE.Abstractions.dll</HintPath> </Reference> <Reference Include="Plugin.BLE"> <HintPath>..\packages\Plugin.BLE.2.1.1\lib\Xamarin.iOS10\Plugin.BLE.dll</HintPath> </Reference> <Reference Include="MvvmCross.Plugins.BLE"> <HintPath>..\packages\MvvmCross.Plugin.BLE.2.1.1\lib\Xamarin.iOS10\MvvmCross.Plugins.BLE.dll</HintPath> </Reference> <Reference Include="MvvmCross.Plugins.BLE.iOS"> <HintPath>..\packages\MvvmCross.Plugin.BLE.2.1.1\lib\Xamarin.iOS10\MvvmCross.Plugins.BLE.iOS.dll</HintPath> </Reference> <Reference Include="Acr.UserDialogs"> <HintPath>..\packages\Acr.UserDialogs.7.1.0.442\lib\xamarinios10\Acr.UserDialogs.dll</HintPath> </Reference> <Reference Include="System.Reactive"> <HintPath>..\packages\System.Reactive.4.4.1\lib\netstandard2.0\System.Reactive.dll</HintPath> </Reference> <Reference Include="System.Reactive.Core"> <HintPath>..\packages\System.Reactive.Core.4.0.0\lib\netstandard2.0\System.Reactive.Core.dll</HintPath> </Reference> <Reference Include="System.Reactive.Interfaces"> <HintPath>..\packages\System.Reactive.Interfaces.4.0.0\lib\netstandard2.0\System.Reactive.Interfaces.dll</HintPath> </Reference> <Reference Include="System.Reactive.Linq"> <HintPath>..\packages\System.Reactive.Linq.4.0.0\lib\netstandard2.0\System.Reactive.Linq.dll</HintPath> </Reference> <Reference Include="System.Reactive.PlatformServices"> <HintPath>..\packages\System.Reactive.PlatformServices.4.0.0\lib\netstandard2.0\System.Reactive.PlatformServices.dll</HintPath> </Reference> <Reference Include="System.Reactive.Providers"> <HintPath>..\packages\System.Reactive.Providers.4.0.0\lib\netstandard2.0\System.Reactive.Providers.dll</HintPath> </Reference> <Reference Include="Xamarin.Essentials"> <HintPath>..\packages\Xamarin.Essentials.1.5.3.2\lib\xamarinios10\Xamarin.Essentials.dll</HintPath> </Reference> <Reference Include="I18N" /> <Reference Include="CsvHelper"> <HintPath>..\packages\CsvHelper.15.0.5\lib\netstandard2.1\CsvHelper.dll</HintPath> </Reference> <Reference Include="System.Drawing.Common.dll" /> <Reference Include="Newtonsoft.Json"> <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\netstandard2.0\Newtonsoft.Json.dll</HintPath> </Reference> <Reference Include="DynamicData"> <HintPath>..\packages\DynamicData.6.14.14\lib\netstandard2.0\DynamicData.dll</HintPath> </Reference> <Reference Include="Stateless"> <HintPath>..\packages\Stateless.5.1.2\lib\netstandard2.0\Stateless.dll</HintPath> </Reference> <Reference Include="System.Buffers"> <HintPath>..\packages\System.Buffers.4.5.1\lib\netstandard2.0\System.Buffers.dll</HintPath> </Reference> <Reference Include="System.Runtime.CompilerServices.Unsafe"> <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath> </Reference> <Reference Include="System.Memory"> <HintPath>..\packages\System.Memory.4.5.4\lib\netstandard2.0\System.Memory.dll</HintPath> </Reference> <Reference Include="Cirrious.FluentLayouts.Touch"> <HintPath>..\packages\Cirrious.FluentLayout.2.9.0\lib\Xamarin.iOS10\Cirrious.FluentLayouts.Touch.dll</HintPath> </Reference> <Reference Include="HockeySDK"> <HintPath>..\packages\HockeySDK.Xamarin.5.2.0\lib\Xamarin.iOS10\HockeySDK.dll</HintPath> </Reference> <Reference Include="HockeySDK.iOSBindings"> <HintPath>..\packages\HockeySDK.Xamarin.5.2.0\lib\Xamarin.iOS10\HockeySDK.iOSBindings.dll</HintPath> </Reference> <Reference Include="PInvoke.Windows.Core"> <HintPath>..\packages\PInvoke.Windows.Core.0.6.6\lib\netstandard2.0\PInvoke.Windows.Core.dll</HintPath> </Reference> <Reference Include="PInvoke.Kernel32"> <HintPath>..\packages\PInvoke.Kernel32.0.6.6\lib\netstandard2.0\PInvoke.Kernel32.dll</HintPath> </Reference> <Reference Include="PInvoke.BCrypt"> <HintPath>..\packages\PInvoke.BCrypt.0.6.6\lib\netstandard1.1\PInvoke.BCrypt.dll</HintPath> </Reference> <Reference Include="PInvoke.NCrypt"> <HintPath>..\packages\PInvoke.NCrypt.0.6.6\lib\netstandard2.0\PInvoke.NCrypt.dll</HintPath> </Reference> <Reference Include="SimpleInjector"> <HintPath>..\packages\SimpleInjector.4.10.2\lib\netstandard2.0\SimpleInjector.dll</HintPath> </Reference> <Reference Include="FFImageLoading"> <HintPath>..\packages\Xamarin.FFImageLoading.2.4.11.982\lib\Xamarin.iOS10\FFImageLoading.dll</HintPath> </Reference> <Reference Include="FFImageLoading.Platform"> <HintPath>..\packages\Xamarin.FFImageLoading.2.4.11.982\lib\Xamarin.iOS10\FFImageLoading.Platform.dll</HintPath> </Reference> </ItemGroup>

Hey @ W0126 pourriez-vous s'il vous plaît essayer la suggestion grep de ce commentaire et laissez-moi savoir quel en est le résultat?

Assurez-vous également d'effacer les dossiers bin / obj pour vous assurer qu'aucune mise en cache n'est impliquée.

Vérifiez à nouveau que vous avez configuré l'indicateur et les paramètres pour la bonne configuration de build et que c'est également la configuration de build que vous utilisez sur tout système CI / CD que vous pourriez avoir en place.

@jfversluis

J'ai fait une commande grep pour mon application.
Il produit binary file ./Payload/uPyxis.app/uPyxis matches

l'uPyxis est mon application.

Mais je n'utilise pas UIWebView dans mon code. Je n'ai aucune idée d'où vient l'UIWebView.

Je suis sûr que j'ai nettoyé tous les dossiers bin / obj et que toute la configuration a été correctement configurée avec l'indicateur et les paramètres.

@jfversluis
Je découvre enfin qu'il s'agit d'une ancienne troisième bibliothèque, HockeySDK, qui est très ancienne et inactive maintenant.
J'ai donc supprimé ce paquet.
Cela devrait permettre à mon application de passer un vol de test sans aucun avertissement maintenant.

Merci.

C'est une excellente nouvelle @ W0126! Faites-moi savoir comment ça se passe!

Salut,

Je développe des applications utilisant XF depuis 5 ans.
Je suis également confronté au même problème et très déçu. Parfois, j'ai décidé de passer à une autre plate-forme en raison d'un manque de support et d'aide ciblée de Xamarin.

Ensuite, j'ai parcouru ce lien https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/
J'ai suivi toutes les instructions et j'ai téléchargé avec succès la compilation sur TestFlight pour les tests.
BUTTTTTTTTT

En changeant LinkAll, je suis confronté à de graves problèmes avec Signalr, je ne peux pas utiliser la fonctionnalité signalr Si je change l'option de liaison en LINK ALL.

ERREUR

Un constructeur approprié pour le type «Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionFactory» n'a pas pu être localisé. Assurez-vous que le type est concret et que les services sont enregistrés pour tous les paramètres d'un constructeur public.

J'ai essayé d'utiliser l'option de saut mais pas de chance.

--linkskip = Microsoft.AspNetCore

Je suis déçu que Xamarin ne soit pas capable d'aider les développeurs.

Si quelqu'un a une solution, aidez-moi s'il vous plaît.

@LumiProj avez-vous par hasard essayé de définir le comportement de l'

J'ai résolu de mettre à jour à nouveau chaque paquet (il s'agissait de mises à jour -1 version) et j'ai refait les étapes.
Voici ma configuration Apple:
image

Salut,

Je suis également confronté à des problèmes et j'ai essayé les correctifs suggérés mentionnés ci-dessus. J'ai essayé Link Sdk et Link All avec ces balises --optimize=experimental-xforms-product-type --optimize=+force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503 sur toutes mes builds (debug / release). J'ai également mis à jour tous mes packages, ce sont les packages NuGet que j'utilise:
Screen Shot 2020-05-19 at 10 40 35 AM (IOS)
Screen Shot 2020-05-19 at 10 40 56 AM
(Projet)

Quand j'essaye grep -r "UIWebView" . comme suggéré ci-dessus, j'obtiens Binary file ./MyApp.iOS.app/Xamarin.Forms.Platform.iOS.dll matches Binary file ./MyApp.iOS.app/Xamarin.iOS.dll matches Binary file ./MyApp.iOS.app/MyApp.iOS matches

Je n'utilise explicitement aucune UIWebView dans mon projet (la recherche dans VS ne révèle rien)

C'est ma configuration
Screen Shot 2020-05-19 at 10 44 36 AM
(Cela ne fonctionne pas avec Link Sdk ou Link All)

J'ai parcouru différents exemples et divers forums au cours des derniers jours et aucun d'entre eux n'est capable de supprimer les mentions dans les fichiers binaires lorsque je grep -r "UIWebView" . et sont donc tous rejetés par l'App Store. Toutes suggestions ou avis seraient grandement appréciés!

Salut,

Enfin je suis en forme.
en utilisant --optimize = experimental-xforms-product-type
avec LinkSdkAssemblies.

Génial @LumiProj !

@JJwilkin J'ai un e-mail de votre part que je vois. Nous allons le découvrir là-bas!

J'ai oublié de revenir et de publier ma méthode pour que mon application passe la vérification Apple. J'avais tellement de messages là-bas que j'ai manqué de revenir à celui-ci.

Ce qui a fonctionné pour moi a été la construction locale et l'empaquetage du fichier ipa. Sur mon mac, j'ai ensuite changé l'extension ipa en zip et je l'ai décompressée. J'ai utilisé le terminal pour aller dans le "dossier" YOURAPPNAME.app et utilisé grep -r UIWebView . pour rechercher des références. N'oubliez pas le . pour qu'il recherche le répertoire courant. J'ai manqué cela au début et j'ai reçu un message indiquant que grep écoutait sur stdin.

Pour moi, cela a abouti à une ligne comme celle-ci:
Binary file ./Frameworks/PersonalizedAdConsent.framework/PersonalizedAdConsent matches

Maintenant, la chose importante à noter est que l'éditeur de liens n'a jamais averti à ce sujet, donc je n'étais absolument pas au courant. Dans mon cas, cela faisait partie de Firebase / Admob. Je n'avais qu'une seule version derrière et la mise à jour vers la dernière a résolu mon problème.

J'utilise toujours --optimize=force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503 comme argument mtouch. Mais les builds passent maintenant.

J'espère que cela aidera quelqu'un à trouver la cause première plus rapidement.

Merci beaucoup jmichas.
Vous économisez beaucoup de mes jours de travail. J'ai fait tout ce que je pouvais en utilisant toutes les instructions et suggestions données et aucune ne peut vraiment obtenir une extraction de la référence UIWebView dans la dll Xamarin.Forms.iOS.Platform. J'y étais presque mais il manquait quelque chose et je peux échapper au rejet de l'App Store. Et finalement, j'ai trouvé la dernière pièce manquante de votre part et cela a fonctionné maintenant. Je peux commencer la phase de test maintenant.

J'ai le même problème.
Suivre toutes les nouvelles règles avec tout le plus récent.
Est-ce que la chirurgie eephyu a suggéré de déballer l'ipa
grep trouve toujours une référence à UIWebView dans le binaire de l'application uniquement.
¯_ (ツ) _ / ¯

Et la réponse est CALABASH! et le package nuget Xamarin TestCloudAgent.
Supprimez ce package et toute référence Calabash.Start () et vous passerez l'App Store.

@pmace super, vous avez trouvé la solution. Dans tous les cas, le package Calabash doit toujours être supprimé de la compilation allant sur l'App Store car il utilise des API privées qu'Apple n'autorisera pas de toute façon :)

Pour tous ceux qui trouvent ceci: donnez un coup de feu à Xamarin.Forms 5 (atm de pré-version), qui a supprimé UIWebViewRenderer et devrait vous sortir de ce problème sans aucun indicateur de build ou autres tracas

Salut,

Je suis également confronté à des problèmes et j'ai essayé les correctifs suggérés mentionnés ci-dessus. J'ai essayé Link Sdk et Link All avec ces balises --optimize=experimental-xforms-product-type --optimize=+force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503 sur toutes mes builds (debug / release). J'ai également mis à jour tous mes packages, ce sont les packages NuGet que j'utilise:
Screen Shot 2020-05-19 at 10 40 35 AM (IOS)
Screen Shot 2020-05-19 at 10 40 56 AM
(Projet)

Quand j'essaye grep -r "UIWebView" . comme suggéré ci-dessus, j'obtiens Binary file ./MyApp.iOS.app/Xamarin.Forms.Platform.iOS.dll matches Binary file ./MyApp.iOS.app/Xamarin.iOS.dll matches Binary file ./MyApp.iOS.app/MyApp.iOS matches

Je n'utilise explicitement aucune UIWebView dans mon projet (la recherche dans VS ne révèle rien)

C'est ma configuration
Screen Shot 2020-05-19 at 10 44 36 AM
(Cela ne fonctionne pas avec Link Sdk ou Link All)

J'ai parcouru différents exemples et divers forums au cours des derniers jours et aucun d'entre eux n'est capable de supprimer les mentions dans les fichiers binaires lorsque je grep -r "UIWebView" . et sont donc tous rejetés par l'App Store. Toutes suggestions ou avis seraient grandement appréciés!

J'ai ce même problème :(, @JJwilkin l' avez-vous résolu?

@jmatusburgos merci de poster les détails de votre projet ou de m'envoyer un email directement

@jmatusburgos Suivez ceci devrait fonctionner.
https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -630945296

Salut @LumiProj J'ai ces arguments.

@jfversluis J'utilise Xamarin.forms 4.8.0.1364. J'ai eu de nombreuses bibliothèques comme googleAnalytics et Google.SigIn qui m'ont donné des références à UIWebView et j'ai mis à niveau d'autres jusqu'à ce que la commande grep ne me montre pas de référence sur certaines bibliothèques, mais maintenant, quand j'utilise grep -r "UIWebView" . j'obtiens Binary file ./MyApp.iOS.app/Xamarin.Forms.Platform.iOS.dll... ne me montre aucune référence explicite.

J'utilise VS2019 sur microsoft machine et mac avec XCode 12.

c'est ma configuration:
J'ai testé avec Link All et LinkSdkAssemblies

image

@jmatusburgos pourriez-vous peut-être trouver mon e-mail sur ma page GitHub et

@jfversluis merci pour votre réponse, je veux vous dire qu'avec l'aide de mes collègues, nous avons trouvé 3 bibliothèques qui ont causé le problème:

Refractored.XamForms.PullToRefresh 2.4.1
Paypal.Forms 2.18.6
Xamarin.PayPal.iOS 2.18.0

Toutes ces bibliothèques sont obsolètes. Nous avons supprimé et fonctionne enfin.
ce qui est intéressant, c'est qu'avec la commande grep n'a pas montré la correspondance de ces bibliothèques.

Alors parfois, peut être un puzzle trouvé les bibliothèques coupables. encore une fois, merci @jfversluis pour votre disponibilité :)

Oui, je pense que parce qu'ils incluent des bibliothèques natives, ils ont créé un wrapper qui n'est pas repris par cette commande grep. Désolé pour le problème, content que vous ayez compris!

Cette page vous a été utile?
0 / 5 - 0 notes