Xamarin.forms: [Ошибка] UIWebView: прекращение поддержки Apple, апрель 2020 г.

Созданный на 3 мар. 2020  ·  92Комментарии  ·  Источник: xamarin/Xamarin.Forms

Прежде чем комментировать этот вопрос, прочтите следующий комментарий и ссылки на документацию

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

И обратитесь к следующим ссылкам на официальную документацию

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

Описание первоначального выпуска

Я установил версию xamarin 4.5.0.356 и использовал testflight для выпуска своего приложения на iOS. У меня есть форма xamarin 4.5 и все реализовано по ссылке в документации
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

Я все еще получаю сообщение от Apple:
"Уважаемый разработчик!

Мы обнаружили одну или несколько проблем с недавней доставкой вашего приложения «XXXXXXXX» 3 (46). Ваша доставка прошла успешно, но при следующей доставке вы можете исправить следующие проблемы:

ITMS-90809: Использование API не рекомендуется - Apple прекратит прием приложений, использующих API UIWebView, начиная с апреля 2020 года. См. Https://developer.apple.com/documentation/uikit/uiwebview для получения дополнительной информации.

После того, как вы исправили проблемы, вы можете загрузить новый двоичный файл в App Store Connect.

С уважением,

Команда App Store "

Может ли кто-нибудь помочь мне решить эту проблему?

Вот мой 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

Самый полезный комментарий

Хорошо, я исправил. Это была моя процедура.

Создавайте Visual Studio в Win10 с подключенным через сеть Mac-mini. Шаги были следующие:

  • "bin / obj dance"
  • Удалите Xamarin.Visual.Material.Design из проекта.
  • "bin / obj dance"
  • Установите нестабильную версию Xamarin.iOS.MaterialComponents 92.0.0-rc2
  • Установите Xamarin.Visual.Material.Design 4.5.0.356.

Единственная проблема заключалась в этом компоненте. Обмен сообщениями в облаке Firebase не был проблемой. Спасибо за помощь.

Все 92 Комментарий

@EdoardoCinelli Установлено ли поведение компоновщика на «Только SDK» или «Связать все» для конфигурации Release | iPhone?

Я тоже перешел по ссылке и до сих пор получаю это сообщение. ниже также cs.proj для моего приложения, если это вообще поможет. Компоновщик настроен только на sdk фреймворка ссылок, и я добавил "--optimize = экспериментальный-xforms-product-type" в аргументы 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 Я думаю, что то же, что упомянул @hartez, относится к вам.

В бит <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> добавьте этот тег: <MtouchLink>Full</MtouchLink> . Вы также можете сделать это из пользовательского интерфейса, перейдя в свойства проекта iOS, перейдите в колонку «Сборка iOS» и убедитесь, что для поведения компоновщика установлено значение « Связать все» или « Только SDK» , см. Ниже.

image

Конечно, убедитесь, что вы делаете это для правильной конфигурации сборки, используйте поля со списком в верхней части экрана для этого

Я пробовал оба, но все еще получаю почту от Apple.
Как я могу это исправить?

Может ли один из них содержать ссылку на 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 похоже, что Firebase ссылается на UIWebView, и они работают над этим: https://github.com/xamarin/GoogleApisForiOSComponents/issues/369

@mharrisonbit просто для обновления остальных; мы немного пообщались в автономном режиме, похоже, у вас есть все нужные версии и настройки, но все еще не работает. Вы уже отправили мне список NuGets, не могли бы вы добавить его сюда? Итак, мы можем увидеть, есть ли там что-нибудь, что может вызвать проблемы.

Привет!

У меня такая же проблема. Мы немного поболтали по почте с

Вот мой список NuGets, если это поможет:

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

Я использую AppCenter для сборки и публикации на testflight. Раньше не писал. Я удалил все ссылки на firebase из кода и NuGet, и я все еще получаю почту. AppCenter - это проблема?

@EdoardoCinelli, не могли бы вы проверить конфигурацию сборки в Центре приложений?

image

Убедитесь, что вы выбрали версию Xamarin.iOS 13.10 для создания своего приложения.

setting1
setting2
Это моя установка

@jfversluis вот nugets, которые я использую в проекте iOS, я надеюсь, что это поможет что-то выяснить. Еще раз спасибо всем за помощь. Также все это архивируется на моем локальном компьютере, а затем отправляется в игровые магазины.
<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 - это NuGet, которые мы используем:

<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" />

Хорошо, похоже, некоторые из вас используют визуальный элемент материала, который зависит от компонентов материала . Последняя стабильная версия - 72.2.0.1, но я столкнулся с этой проблемой https://github.com/xamarin/XamarinComponents/issues/745, в которой говорится, что ссылка на UIWebView удаляется только в 92.0.0-rc1 .

Проверьте, действительно ли вы используете Материал в своем проекте. Если нет, попробуйте удалить ссылку _ или_ добавьте 92.0.0-rc1 (или rc2) в свой проект вручную и посмотрите, исправит ли это это.

Для людей, которые (также) строят на Azure DevOps, имейте в виду, что вы, возможно, не строите против Xamarin.iOS 13.10. Проверьте свои журналы, чтобы увидеть, есть ли какой-либо вывод, в котором указано, что флаг experimental-xforms-product-type не является допустимым. Если вы видите этот результат, вы строите на основе более старой версии Xamarin.iOS.

Для тех, кто работает в Azure DevOps, перейдите по ссылке ниже и установите для версии Mono значение 6_6_1, что соответствует 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- размещенный-macos-агент

Также протестирован без Appcenter и без firebase, webview, материалов xamarin и xamarin essential, и я все еще получаю почту. Может кто-нибудь сказать мне, что происходит? Как я могу проверить, есть ли у меня ссылка?

Я попытался удалить Xamarin.Forms.Visual.Material и все равно получил письмо.

это те NuGet, которые мы используем:

<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 После удаления

Кроме того, как вы создаете свое приложение? Azure DevOps, Центр приложений, вручную? Вы уверены, что у вас есть все необходимые настройки?

Я только что создал сборку и не получил этого сообщения, я не вносил никаких изменений в пакеты nuget, на которые есть ссылки, просто некоторые изменения дизайна, которые были запрошены.

@mharrisonbit, что вы имеете в виду под «изменениями дизайна»?

Никаких серьезных изменений, только небольшой запас в паре просмотров. Я не добавлял и не удалял какие-либо элементы (метки, кнопки и т. Д.) Ни в одном виде.

ОК, это ... странно. Может быть, вдруг для этой сборки некоторые биты встали на свои места и у вас появился правильный двоичный файл? В любом случае, рад видеть, что проблема решена! :)

Я знаю, как мне повезло, и это было всего лишь разом. lol, я надеюсь, что все встало на свои места, и я готов идти дальше. Благодарю всех за помощь.

@jfversluis Это сработало, я удалил Xamarin.Forms.Visual.Material, очистил решение, удалил папки bin и obj и даже по гарантии перезапустил визуальную студию и macMini.
Я собираю вручную с помощью Visual Studio Preview для Windows, подключенного к Mac mini.
на самом деле мне нужен визуальный материал, я снова установлю его в свое приложение, и я знаю, что если Apple начнет отказываться от моего приложения, я могу отправить его без материала.
Есть ли у вас прогноз обновления визуального материала с необходимой коррекцией?
Благодаря!

Отлично @Flaviocrtt! Спасибо за то, что дали нам знать!

Я думаю, что обновление материальных вещей уже идет. Если вы хотите использовать их прямо сейчас, просто установите его снова, но обновите NuGet MaterialComponents в своем проекте iOS до последней предварительной версии. Снова очистите все содержимое bin и obj, но это должно сработать, и вы можете использовать материал :)

@EdoardoCinelli похоже, что мы

Хорошо, я исправил. Это была моя процедура.

Создавайте Visual Studio в Win10 с подключенным через сеть Mac-mini. Шаги были следующие:

  • "bin / obj dance"
  • Удалите Xamarin.Visual.Material.Design из проекта.
  • "bin / obj dance"
  • Установите нестабильную версию Xamarin.iOS.MaterialComponents 92.0.0-rc2
  • Установите Xamarin.Visual.Material.Design 4.5.0.356.

Единственная проблема заключалась в этом компоненте. Обмен сообщениями в облаке Firebase не был проблемой. Спасибо за помощь.

Привет @jfversluis У меня тоже есть эта проблема, я не использую компонент Material.
Это моя конфигурация сборки - я использую AppCenter для создания файла 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>

Список пакетов 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>

Конфигурация сборки App Center:
image

Дайте пожалуйста совет.

@vunhutien попытается обновить плагины, связанные с рекламой. Это кажется вероятным пакетом для ссылки на веб-просмотр

Спасибо @jfversluis , я обновил все плагины до последней версии, проблема все еще есть, есть идеи?

@vunhutien похоже, что эта проблема может быть вашей причиной: https://github.com/xamarin/GoogleApisForiOSComponents/issues/380

@vunhutien похоже, что эта проблема может быть вашей причиной: xamarin / GoogleApisForiOSComponents # 380

Спасибо.

@ rdev24608 похоже, что вы не используете стабильный пакет 4.5, который является обязательным

@ rdev24608

Попробуй это
https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -594758733

Если все равно не работает, то какое исключение?

исключение?

Попробуйте проверить, какой пакет содержит ссылку на UIWebView, разархивировав файл * .ipa, cd в распакованный каталог и сделав grep -lr "UIWebView" . со своего терминала.

Привет @abrari , мой пакет показал: /Frameworks/PersonalizedAdConsent.framework/PersonalizedAdConsent
Я думаю, это из Google Ad lib, верно?

Привет, @jfversluis, у меня тоже есть эта проблема, я обновился до Xamarin.Forms 4.5.0.495 и Xamarin.iOS 13.14.1.39. Я также выполнил те же настройки, что и упомянутые в блоге, но все равно получаю предупреждение. Это моя конфигурация проекта и список пакетов nuget, так как я не уверен, что все еще вызывает эту ссылку на 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, видя, что вы используете Материал, может быть так: https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -594599608

@jfversluis спасибо за ваш быстрый ответ, я действительно использую последнюю версию Xamarin.Forms.Visual.Material в качестве версии Xamarin.Forms, должен ли я также установить Xamarin.iOS.MaterialComponents?

На данный момент; да. У нас есть открытый PR, который должен обновить ссылку, но пока вы должны добавить последний пакет Xamarin.iOS.MaterialComponents вручную, и это должно исправить это.

@jfversluis
Добрый день! имея такое же электронное письмо с предупреждением в моем приложении, не используйте какие-либо компоненты MaterialComponents Я мои пакеты, а также установил последнюю стабильную версию Xamarin.Forms, все необходимые обновления и настройки, перечисленные в этом потоке.
Все последние стабильные версии SDK также на месте

также применил распаковку моего ipa и выполнил grep и получил
SomeMobileApp.iOS.app/Xamarin.Forms.Platform.iOS.dll
SomeMobileApp.iOS.app/SomeMobileApp.iOS
SomeMobileApp.iOS.app/Xamarin.iOS.dll

вот список зависимостей в проекте 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>

также установил последнюю стабильную версию Xamarin.Forms, все необходимые обновления и настройки, перечисленные в этом потоке.

Какие это будут версии? :)
Я не вижу каких-либо NuGet, которые могли бы вызвать это, поэтому это должно быть что-то в вашей конфигурации сборки. Вы случайно создаете через Azure DevOps или Центр приложений? Вы установили правильную конфигурацию для соответствующей конфигурации сборки? Было бы полезно увидеть кое-что из этого.

Также убедитесь, что вы прочитали эту дополнительную документацию от команды Xamarin.iOS, которая может помочь: https://docs.microsoft.com/en-us/xamarin/ios/release-notes/13/13.16#help -with- uiwebview-deprecation

@jfversluis Добрый день!

Спасибо за такие быстрые ответы и помощь.

Я прочитал статью, которой вы поделились, но еще не подал заявку --warn-on-type-ref = UIKit.UIWebView
но попытался применить --optimization = force-rejected-types-remove и получил ошибку, так как в последних обновлениях такого аргумента нет.
И да, конечно, мы не используем UIWebView в наших рендерерах, но мы используем WKWebView.

Мы строим исключительно на ПК с Windows, подключенном к Mac с помощью утилит MSBuild, мы не используем никаких других решений.

для конфигурации необходимый флаг применяется ко всем конфигурациям, поэтому будет отображаться только связанный с типом выпуска,
это будет список конфигураций:

<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>

это список версий:
`=== Visual Studio Community 2019 для Mac ===

Версия 8.5.1 (сборка 42)

=== Mono Framework MDK ===

Время выполнения:
Mono 6.8.0.123 (2019-10 / 1d0d939dc30) (64-разрядная версия)
Версия пакета: 608000123

Пакеты SDK MSBuild: /Library/Frameworks/Mono.framework/Versions/6.8.0/lib/mono/msbuild/Current/bin/Sdks

=== Инструменты разработчика Apple ===

Xcode 11.4 (16134)
Сборка 11E146

=== Xamarin.Mac ===

Версия: 6.16.0.11 (сообщество Visual Studio)
Хеш: aa73e4125
Филиал: d16-5-xcode11.4
Дата сборки: 2020-03-25 11: 04: 02-0400

=== Xamarin.iOS ===

Версия: 13.16.0.11 (сообщество Visual Studio)
Хеш: aa73e4125
Филиал: d16-5-xcode11.4
Дата сборки: 2020-03-25 11: 04: 03-0400
=== Xamarin.Android ===

Версия: 10.2.0.100 (сообщество Visual Studio)
Фиксация: xamarin-android / d16-5 / 988c811
Android SDK: / Пользователи / sergiiputintsev / Library / Android / sdk
Поддерживаемые версии Android:
8.1 (уровень API 27)

Версия инструментов SDK: 26.1.1
Версия инструментов платформы SDK: 28.0.1
SDK Build Tools Версия: 28.0.3

Информация о сборке:
Моно: c0c5c78
Java.Interop: xamarin / java.interop / d16-5 @ fc18c54
ProGuard: xamarin / proguard / master @ 905836d
SQLite: xamarin / sqlite / 3.28. 0 @ 46204c4
Инструменты Xamarin.Android: xamarin / xamarin-android-tools / d16-5 @ 9f4ed4b

=== Операционная система ===

Mac OS X 10.15.3
Дарвин 19.3.0 Ядро Дарвина Версия 19.3.0
Чт, 9 января, 20:58:23 PST 2020
`

Я также считаю, что это не связано с библиотеками, поскольку grep показывает появление UIWebView в SomeMobileApp.iOS.app/Xamarin.Forms.Platform.iOS.dll
SomeMobileApp.iOS.app/SomeMobileApp.iOS
SomeMobileApp.iOS.app/Xamarin.iOS.dll

но попытался применить --optimization = force-rejected-types-remove и получил ошибку, так как в последних обновлениях такого аргумента нет.

Я не понимаю, что вы имеете в виду. Я интерпретирую это как; вы пытались использовать этот аргумент, но это не сработало. Какую ошибку вы получили при использовании этого?

Странно. Вроде бы все в порядке, но чего-то не хватает.

Теперь, когда я внимательно посмотрел на ваш csproj, я вижу, что используемый вами флаг имеет опечатку <MtouchExtraArgs>--optimize=experemental-xforms-product-type</MtouchExtraArgs> должно быть <MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs> уведомление experemental написано неправильно

У меня тоже была эта проблема, но она исчезла ... Я думаю, что все было в порядке. Я не использовал Материал.
Xamarin.Forms 4.5.0.530
Xamarin.IOS 13.16.0.11

Не знаю, что в итоге исправило, потому что --warn-on-type-ref=UIKit.UIWebView продолжал жаловаться на то, что в Xamarin.Forms.Platform.IOS все еще есть ссылки, и я очень старался избавиться от этого, но вы можете попробовать следующее:

  • удалите папки bin и obj.
  • удалить кеш на Mac в ~/Library/Caches/Xamarin/mtbs

--warn-on-type-ref=UIKit.UIWebView прежнему говорит, что есть ссылки, но App Store больше не жалуется. Надеюсь, это не случайность ..

Привет всем,
все еще есть та же проблема. Я пробовал все, даже "--warn-on-type-ref = UIKit.UIWebView", и он ссылается на:
Одна или несколько ссылок на тип «UIKit.UIWebView» все еще существуют внутри «Xamarin.Forms.Platform.iOS, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = null» после связывания (даже до связывания)

Я использую Xamarin.Forms.iOS 4.5.0.617 (последняя версия) и не использовал никаких ссылок в моем коде iOS.
Что я могу сделать, чтобы найти проблему?

Редактировать:
AppConnect по-прежнему ссылается на проблему, я создаю свое приложение, используя appcenter с Xamarin.iOS 13.14 (Mono 6.8) и XCode 11.4.
Флаг ссылки --optimize = экспериментальный-xforms-product-type был установлен, но ничего не изменилось ...

Не могли бы вы найти мой адрес электронной почты в моем профиле GitHub и связаться с ним? Не было дела, которое мы не смогли бы решить, так что давайте исправим его для вас!

Привет @jfversluis!
У меня та же проблема, что и у @ R41z0r

Сначала следил за вашей статьей - https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/

Затем я вручную вычислил библиотеки DLL, которые могут ссылаться на UIWebView.

  • Xamarin.auth

  • MonoTouch.Dialog

Удалив их из своего проекта, я повторно отправил приложение в хранилище и все еще получаю такое же предупреждение от Apple.
Затем я узнал о --warn-on-type-ref = UIKit.UIWebView .

После использования --warn-on-type-ref = UIKit.UIWebView в моем проекте произошла следующая ошибка.
Одна или несколько ссылок на тип «UIKit.UIWebView» все еще существуют внутри «Xamarin.Forms.Platform.iOS, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = null» после связывания (даже до связывания)

Версия Xamarin.Forms - 4.6.0.726
Версия Xamarin.iOS - 13.16.0.13
Поведение компоновщика - только SDK
аргументы mtouch - --optimize = экспериментальный-xforms-product-type

Я проверил Xamarin.Forms.Platform.iOS с помощью обозревателя объектов. Я подозреваю, что он все еще содержит WebViewRenderer. См. Прикрепленный снимок экрана
xamarin ios

Я что-то здесь делаю не так?

Я в одной лодке. Я не могу отправить свой лазурный конвейер в Apple без отклонения ошибки.
Смотрите мой StackOverflow вопрос для более подробно https://stackoverflow.com/questions/61567850/still-getting-itms-90809-deprecated-api-usage-after-using-optimize-force-reje?noredirect=1#comment108910675_61567850

Какие аргументы mtouch нужно вводить правильно? Это
--optimize=experimental-xforms-product-type
или же
--optimize=force-rejected-types-removal

или оба?

Хорошо, я все еще застрял. Я провел некоторое тестирование своего проекта, и вот что я обнаружил.
Если я запустил его только с --warn-on-type-ref = UIKit.UIWebView -wa rnaserror: 1503
моя сборка не работает с MT1503, который UIWebView все еще присутствует после связывания.
Если я запустил его с предупреждением плюс --optimize = экспериментальный-xforms-product-type
Я получаю тот же результат, ошибка на MT1503, так что вроде ничего не делает.
Если я запустил его с помощью --optimize = force-rejected-types-remove, моя сборка завершится успешно без каких-либо сообщений UIWebView после связывания.

В моем реальном конвейере я запускал --optimize = force-rejected-types-deletion, но Apple по-прежнему отвергает его. Итак, я не понимаю, в чем проблема. Я не использую UIWebView в своем проекте.

>

Кстати, моя проблема заключалась в том, что я забыл поставить аргумент на всех
экземпляры (отладка / выпуск, симулятор iPhone / iPhone).

Проверьте, может, это вам поможет.

@ R41z0r Спасибо. Да, это установлено, я вижу это в моих журналах сборки лазурного цвета. Это такая досадная проблема, потому что мой конвейер сборки на данный момент бесполезен, и у меня есть тестировщики / заинтересованные стороны, которым еженедельно отправляются сборки через testflight.

Наконец-то удалось очистить проверку яблока. В моем случае была библиотека ( Branch-Xamarin-Linking-SDK ), которая отвечала за отклонение приложения. Я только что обновил его, и приложение сдает экзамен на яблоко. Я использовал старую версию этой библиотеки. Большой задачей было выделить библиотеку среди многих других в нашем проекте.
Потратив на это несколько дней, я могу сказать, что --warn-on-type-ref = UIKit.UIWebView не дает истинных результатов. Если в журналах сборки осталось одно предупреждение, попробуйте отправить его в testflight.
Лучший способ продолжить - обновить все библиотеки до последней версии и соответствующим образом скорректировать исходный код. Если по-прежнему это не сработает, попробуйте удалить одну за другой наиболее сомнительные библиотеки и закомментировать код этой библиотеки в своем проекте, а затем отправить сборки в testflight. Я знаю, что это займет немного времени, но стоит потратить время на свой проект, чтобы избежать отказа от яблок.

Я забыл вернуться и опубликовать свой метод получения моего приложения для прохождения проверки Apple. У меня было так много постов, что я пропустил, возвращаясь к этому.

Что в итоге сработало для меня, так это сборка локально и упаковка файла ipa. Затем на моем Mac я изменил расширение ipa на zip и разархивировал его. Я использовал терминал для перехода к «папке» YOURAPPNAME.app и использовал grep -r UIWebView . для поиска ссылок. Не забудьте . чтобы он выполнял поиск в текущем каталоге. Сначала я пропустил это и получил сообщение, что grep слушает stdin.

Для меня это привело к такой строке:
Binary file ./Frameworks/PersonalizedAdConsent.framework/PersonalizedAdConsent matches

Теперь важно отметить, что компоновщик никогда не предупреждал об этом, поэтому я совершенно не знал об этом. В моем случае это было частью Firebase / Admob. Я отставал только на один выпуск, и обновление до последней устранило мою проблему.

Я все еще использую --optimize=force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503 качестве аргументов mtouch. Но сборки теперь проходят.

Я надеюсь, что это поможет кому-то быстрее найти причину.

Я обновил Visual Studio и Xcode до последней версии, но --optimize=experimental-xforms-product-type все еще не работал у меня.
К счастью, --optimize=experimental-xforms-product-type --optimize=+force-rejected-types-removal сделал.

но попытался применить --optimization = force-rejected-types-remove и получил ошибку, так как в последних обновлениях такого аргумента нет.

Я не понимаю, что вы имеете в виду. Я интерпретирую это как; вы пытались использовать этот аргумент, но это не сработало. Какую ошибку вы получили при использовании этого?

Странно. Вроде бы все в порядке, но чего-то не хватает.

--optimization = force-rejected-types-deletion приводит к моно-ошибке Неизвестный аргумент командной строки

но попытался применить --optimization = force-rejected-types-remove и получил ошибку, так как в последних обновлениях такого аргумента нет.

Я не понимаю, что вы имеете в виду. Я интерпретирую это как; вы пытались использовать этот аргумент, но это не сработало. Какую ошибку вы получили при использовании этого?
Странно. Вроде бы все в порядке, но чего-то не хватает.

--optimization = force-rejected-types-deletion приводит к моно-ошибке Неизвестный аргумент командной строки

Привет,
Аргумент --optimization должен быть --optimize

@taublast @Bradtus , это правильно. Есть одна страница документации, где оптимизация написана ошибочно. Следует оптимизировать

Вот такая же проблема. Невозможно, чтобы сегодня мы были заблокированы для этого, когда Apple сообщила о прекращении поддержки через несколько месяцев.

@biapar

Привет @biapar , ты совершенно прав. И вы не должны быть заблокированы этим, потому что решение, которое у нас есть, также существует уже несколько месяцев для вас. И было доказано, что это работает каждый раз.

Дайте мне знать, что вам не подходит, и мы разберемся

@biapar

Я уже все сделал (в режиме RELEASE). Попробую еще раз пошагово.
image

image

image

=== Сообщество Visual Studio 2019 для Mac ===

Версия 8.5.5 (сборка 7)
UUID установки: 4ca0550e-38d1-40b2-a470-7ae00766fcac
GTK + 2.24.23 (тема Роли)
Xamarin.Mac 6.14.1.39 (d16-5 / 30e8706b4)

Package version: 608000099

=== Mono Framework MDK ===

Время выполнения:
Mono 6.8.0.99 (2019-10 / 1182f8cbf5b) (64-разрядная версия)
Версия пакета: 608000099

=== Roslyn (языковая служба) ===

3.5.0-beta4-20125-04 + 1baa0b3063238ed752ad1f0368b1df6b6901373e

=== NuGet ===

Версия: 5.4.0.6315

=== .NET Core SDK ===

SDK: /usr/local/share/dotnet/sdk/3.1.200/Sdks
Версияi SDK:
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 для MSBuild: /Library/Frameworks/Mono.framework/Versions/6.8.0/lib/mono/msbuild/Current/bin/Sdks

=== Среда выполнения .NET Core ===

Время выполнения: / usr / local / share / dotnet / dotnet
Версия: время выполнения:
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 ===

Версия: 1.6.12.26
Percorso: / Applications / Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Обновление ===

Версия: 11

=== Инструменты разработчика Apple ===

Xcode 11.4.1 (16137)
Сборка 11E503a

=== Xamarin.Mac ===

Версия: 6.16.0.13 (сообщество Visual Studio)
Хеш: b75deaf82
Филиал: d16-5-xcode11.4
Дата сборки: 2020-04-01 21: 33: 18-0400

=== Xamarin.iOS ===

Версия: 13.16.0.13 (сообщество Visual Studio)
Хеш: b75deaf82
Филиал: d16-5-xcode11.4
Дата сборки: 2020-04-01 21: 33: 19-0400

=== Xamarin Designer ===

Версия: 16.5.0.471
Хеш: 35aa4889d
Ветка: пульты / origin / d16-5
Дата сборки: 2020-02-25 00:52:08 UTC

=== Xamarin.Android ===

Версия: 10.2.0.100 (сообщество Visual Studio)
Фиксация: xamarin-android / d16-5 / 988c811
Android SDK: / Users / biagioparuolo / Library / Developer / Xamarin / android-sdk-macosx
Версии для Android:
8.0 (livello API 26)
8.1 (livello API 27)

Версия SDK Tools: 26.1.1
Версия инструментов SDK: 30.0.1
Версия компиляции SDK: 29.0.2

Сборник информационных материалов:
Моно: c0c5c78
Java.Interop: xamarin / java.interop / d16-5 @ fc18c54
ProGuard: xamarin / proguard / master @ 905836d
SQLite: xamarin / sqlite / 3.28. 0 @ 46204c4
Инструменты 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
Код EPL Android Designer доступен в следующих случаях:
https://github.com/xamarin/AndroidDesigner.EPL

=== Android SDK Manager ===

Версия: 16.5.0.39
Хеш: 6fb4c79
Ветка: пульты / origin / d16-5
Дата сборки: 2020-04-29 20:09:00 UTC

=== Диспетчер устройств Android ===

Версия: 16.5.0.73
Хеш: dff2f03
Ветка: пульты / origin / d16-5
Дата сборки: 2020-04-29 20:09:20 UTC

=== Xamarin Inspector ===

Версия: 1.4.3
Хеш: db27525
Ветка: 1.4-релиз
Дата сборки: Mon, 09 Jul 2018 21:20:18 GMT
Совместимость с клиентом: 1

=== Информация о сборке ===

Идентификатор выпуска: 805050007
Версия Git: f7b7ac4291b7712b5e02dd65d45685346f321ded
Дата сборки: 2020-04-30 11: 54: 56-04
Ветка сборки: release-8.5
Расширения Xamarin: f7b7ac4291b7712b5e02dd65d45685346f321ded

=== Операционная система ===

Mac OS X 10.15.4
Дарвин 19.4.0 Ядро Дарвина Версия 19.4.0
Ср, 4 мар, 22:28:40 PST 2020
корень: xnu-6153.101.6 ~ 15 / RELEASE_X86_64 x86_64

=== Включены расширения, установленные пользователем ===

Расширение Xamarin.Forms HotReload 1.4.0
Расширение MonoGame 3.7.1.189
XAML Styler 2.0.1

Вы действительно отправили сборку в App Store? Я думаю, что в некоторых случаях предупреждения на выходе могут давать ложные срабатывания. Кроме того, вы архивируете свое приложение через Visual Studio для Mac или случайно делаете это через Центр приложений или Azure DevOps?

@biapar, другой вариант - просмотреть вывод вашего приложения, чтобы найти то, что все еще ссылается на UIWebView

https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -624655801
Или вы можете перетащить все свои DLL в vsmac и таким образом проверить / найти типы типов
https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -621915045

Вы действительно отправили сборку в App Store? Я думаю, что в некоторых случаях предупреждения на выходе могут давать ложные срабатывания. Кроме того, вы архивируете свое приложение через Visual Studio для Mac или случайно делаете это через Центр приложений или Azure DevOps?

Я использую Visual Studio на Mac и Windows.

но попытался применить --optimization = force-rejected-types-remove и получил ошибку, так как в последних обновлениях такого аргумента нет.

Я не понимаю, что вы имеете в виду. Я интерпретирую это как; вы пытались использовать этот аргумент, но это не сработало. Какую ошибку вы получили при использовании этого?

Странно. Вроде бы все в порядке, но чего-то не хватает.

--optimization = force-rejected-types-deletion приводит к моно-ошибке Неизвестный аргумент командной строки

но попытался применить --optimization = force-rejected-types-remove и получил ошибку, так как в последних обновлениях такого аргумента нет.

Я не понимаю, что вы имеете в виду. Я интерпретирую это как; вы пытались использовать этот аргумент, но это не сработало. Какую ошибку вы получили при использовании этого?
Странно. Вроде бы все в порядке, но чего-то не хватает.

--optimization = force-rejected-types-deletion приводит к моно-ошибке Неизвестный аргумент командной строки

Привет,
Аргумент --optimization должен быть --optimize

Вау, милый!
@jfversluis здесь (https://docs.microsoft.com/en-us/xamarin/ios/release-notes/13/13.16) они просто дают вам неправильную строку:

Убедительным решением является добавление --optimization = force-rejected-types-remove в дополнительные аргументы mtouch вашего проекта. Это удалит следы UIWebView из приложения. Однако любой код, относящийся к типу, не будет работать должным образом (ожидаются исключения или сбои). Это следует использовать только в том случае, если вы уверены, что код недоступен во время выполнения (даже если он был доступен с помощью статического анализа).

В любом случае мне удалось передать его в AppStore со следующим:

  1. включить инкрементные сборки ВЫКЛЮЧЕНО (важно)
  2. монотучный дополнительный материал: --optimize = экспериментальный-xforms-product-type --optimize = + force-rejected-types-deletion --warn-on-type-ref = UIKit.UIWebView -wa rnaserror: 1503

здесь (https://docs.microsoft.com/en-us/xamarin/ios/release-notes/13/13.16) они просто дают неправильную строку:

Я открыл PR по этому документу, чтобы исправить это. Есть еще пара человек, которые обратились ко мне с предложением, что теперь он работает, но, к сожалению, он еще не объединен.

Рад слышать, что вы это исправили!

@jfversluis У меня устаревания UIWebView.
Я пробовал каждое решение, предоставленное вами и другими ребятами.

  1. Я изменил поведение ссылки на Link All.

  2. Я добавил параметры MTouch Link --optimize = экспериментальный-xforms-product-type --optimize = force-rejected-types-deletion --warn-on-type-ref = UIKit.UIWebView

  3. Обновленный пакет nuget для xamarin.Forms до последней версии (4.6.0.726)

  4. Я использую последнюю версию сообщества Visual Studio для Mac:
    Visual Studio Community 2019 для Mac
    Версия 8.5.5 (сборка 7)

  5. Мой Xamarin.iOS - 13.16.0.13:
    Xamarin.iOS
    Версия: 13.16.0.13 (сообщество Visual Studio)
    Хеш: b75deaf82
    Филиал: d16-5-xcode11.4
    Дата сборки: 2020-04-01 21: 33: 19-0400

Но я все еще получаю сообщение о проблеме с устареванием UIWebView от Apple, когда отправляю новую сборку в testflight.
Я все еще получаю это сообщение, когда создаю сборку.
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

Не могли бы вы сказать мне, что мне не хватает? Что мне делать, чтобы исправить эту проблему.

В моем проекте есть ссылка на другой проект библиотеки, который является проектом Visual Studio, он сгенерировал библиотеку, которая будет использоваться в этом проекте.

Ниже приведен список пакетов nuget моего проекта.
<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>

Привет, @ W0126, не могли бы вы попробовать предложение grep из этого комментария и сообщить мне, каков результат?

Кроме того, убедитесь, что вы очистили папки bin / obj, чтобы убедиться в отсутствии кеширования.

Дважды проверьте, что вы настроили флаг и параметры для правильной конфигурации сборки, и что это также конфигурация сборки, которую вы используете в любой системе CI / CD, которая у вас может быть.

@jfversluis

Я выполнил команду grep для своего приложения.
Выводит binary file ./Payload/uPyxis.app/uPyxis matches

uPyxis - это мое приложение.

Но я не использую UIWebView в своем коде. Я понятия не имею, откуда взялся UIWebView.

Я уверен, что я очистил все папки bin / obj, и вся конфигурация правильно настроена с флагом и настройками.

@jfversluis
Я наконец узнал, что это вызвано старой третьей библиотекой HockeySDK, которая сейчас очень старая и неактивна.
Я удалил этот пакет.
Это должно позволить моему приложению пройти тестовый полет без каких-либо предупреждений.

Благодарю.

Это отличные новости @ W0126! Дай мне знать, как дела!

Привет,

Я занимаюсь разработкой приложений с использованием XF последние 5 лет.
Я тоже столкнулся с той же проблемой и очень разочарован. Иногда я решал перейти на другую платформу из-за отсутствия поддержки и целевой помощи со стороны Xamarin.

Затем я прошел по этой ссылке https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/
Я выполнил все инструкции и успешно загрузил сборку на TestFlight для тестирования.
BUTTTTTTTTT

Изменив LinkAll, я столкнулся с серьезными проблемами с Signalr. Я не смогу использовать функции signalr. Если я изменю параметр связывания на LINK ALL.

ОШИБКА

Не удалось найти подходящий конструктор для типа Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionFactory. Убедитесь, что тип конкретен, а службы зарегистрированы для всех параметров общедоступного конструктора.

Я попытался использовать опцию пропуска, но безуспешно.

--linkskip = Microsoft.AspNetCore

Я разочарован тем, что Xamarin не может помочь разработчикам.

Если у кого-то есть решение, пожалуйста, помогите мне.

@LumiProj , вы случайно не пытались настроить поведение компоновщика только на SDK?

Я решил снова обновить каждый пакет (это была обновленная версия -1) и снова сделал шаги.
Это моя конфигурация Apple:
image

Привет,

Я также столкнулся с проблемами и попробовал предлагаемые исправления, упомянутые выше. Я пробовал Link Sdk и Link All с этими тегами --optimize=experimental-xforms-product-type --optimize=+force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503 во всех своих сборках (отладка / выпуск). Я также обновил все свои пакеты, это пакеты NuGet, которые я использую:
Screen Shot 2020-05-19 at 10 40 35 AM (IOS)
Screen Shot 2020-05-19 at 10 40 56 AM
(Проект)

Когда я пробую grep -r "UIWebView" . как предложено выше, я получаю 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

Я явно не использую UIWebView в своем проекте (поиск в VS ничего не показывает)

Это моя конфигурация
Screen Shot 2020-05-19 at 10 44 36 AM
(Это не работает с Link Sdk или Link All)

Я просматривал разные примеры и различные форумы за последние несколько дней, и ни один из них не может удалить упоминания в двоичных файлах, когда я grep -r "UIWebView" . и, таким образом, все они отклонены магазином приложений. Любые предложения и советы приветствуются!

Привет,

Наконец-то я в хорошей форме.
используя --optimize = экспериментальный-xforms-product-type
с LinkSdkAssemblies.

Замечательно @LumiProj !

@JJwilkin У меня есть письмо от вас, как я понимаю. Мы там разберемся!

Я забыл вернуться и опубликовать свой метод получения моего приложения для прохождения проверки Apple. У меня было так много постов, что я пропустил, возвращаясь к этому.

Что в итоге сработало для меня, так это сборка локально и упаковка файла ipa. Затем на моем Mac я изменил расширение ipa на zip и разархивировал его. Я использовал терминал для перехода к «папке» YOURAPPNAME.app и использовал grep -r UIWebView . для поиска ссылок. Не забудьте . чтобы он выполнял поиск в текущем каталоге. Сначала я пропустил это и получил сообщение, что grep слушает stdin.

Для меня это привело к такой строке:
Binary file ./Frameworks/PersonalizedAdConsent.framework/PersonalizedAdConsent matches

Теперь важно отметить, что компоновщик никогда не предупреждал об этом, поэтому я совершенно не знал об этом. В моем случае это было частью Firebase / Admob. Я отставал только на один выпуск, и обновление до последней устранило мою проблему.

Я все еще использую --optimize=force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503 качестве аргументов mtouch. Но сборки теперь проходят.

Я надеюсь, что это поможет кому-то быстрее найти причину.

Большое спасибо, jmichas.
Вы сэкономите мне много рабочих дней. Я сделал все, что мог, используя все приведенные рекомендации и предложения, и ни один из них не смог получить ссылку на UIWebView в Xamarin.Forms.iOS.Platform dll. Я почти был там, но чего-то не хватало, и я могу избежать отказа в App Store. И, наконец, я нашел от вас последнюю недостающую часть, и теперь это сработало. Теперь я могу приступить к этапу тестирования.

Есть такая же проблема.
Соблюдал все новые правила со всем последним.
Сделал операцию eephyu предложил распаковать ipa
grep все еще находит ссылку на UIWebView только в двоичном файле приложения.
¯_ (ツ) _ / ¯

И ответ КАЛАБАШ! и пакет nuget Xamarin TestCloudAgent.
Удалите этот пакет и любую ссылку на Calabash.Start (), и вы передадите App Store.

@pmace здорово, что вы нашли решение. В любом случае пакет Calabash всегда следует удалять из сборки, идущей в App Store, поскольку он использует частные API, которые Apple в любом случае не разрешит :)

Для тех, кто это обнаружит: дайте Xamarin.Forms 5 (предварительная версия atm) снимок, в котором удален UIWebViewRenderer, и он должен помочь вам решить эту проблему без каких-либо флагов сборки или других проблем

Привет,

Я также столкнулся с проблемами и попробовал предлагаемые исправления, упомянутые выше. Я пробовал Link Sdk и Link All с этими тегами --optimize=experimental-xforms-product-type --optimize=+force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503 во всех своих сборках (отладка / выпуск). Я также обновил все свои пакеты, это пакеты NuGet, которые я использую:
Screen Shot 2020-05-19 at 10 40 35 AM (IOS)
Screen Shot 2020-05-19 at 10 40 56 AM
(Проект)

Когда я пробую grep -r "UIWebView" . как предложено выше, я получаю 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

Я явно не использую UIWebView в своем проекте (поиск в VS ничего не показывает)

Это моя конфигурация
Screen Shot 2020-05-19 at 10 44 36 AM
(Это не работает с Link Sdk или Link All)

Я просматривал разные примеры и различные форумы за последние несколько дней, и ни один из них не может удалить упоминания в двоичных файлах, когда я grep -r "UIWebView" . и, таким образом, все они отклонены магазином приложений. Любые предложения и советы приветствуются!

У меня такая же проблема :(, @JJwilkin ты решил?

@jmatusburgos, пожалуйста,

@jmatusburgos Следуйте этому, должно работать.
https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -630945296

Привет, @LumiProj У меня есть аргументы.

@jfversluis Я использую Xamarin.forms 4.8.0.1364. У меня было unistall много библиотек, таких как googleAnalytics и Google.SigIn, которые давали мне ссылки на UIWebView, и я обновлял другие, пока команда grep не показывала мне ссылку на какую-то библиотеку, но теперь, когда я использую grep -r "UIWebView" . я получаю Binary file ./MyApp.iOS.app/Xamarin.Forms.Platform.iOS.dll... не показывать мне явную ссылку.

Я использую VS2019 на компьютере Microsoft и Mac с XCode 12.

это моя конфигурация:
Я тестировал с Link All и LinkSdkAssemblies

image

@jmatusburgos не могли бы вы найти мою электронную почту на моей странице GitHub и связаться с ней, чтобы мы могли это выяснить? :)

@jfversluis благодарит вас за ответ, я хочу прокомментировать, что с помощью моих коллег мы нашли 3 библиотеки, которые вызвали проблему:

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

Все эти библиотеки устарели. Мы сняли и наконец работает.
Интересно то, что с помощью команды grep не показывал совпадение этих библиотек.

Так что иногда мозаикой можно найти виноватых библиотек. еще раз спасибо @jfversluis за доступность :)

Да, я думаю, поскольку они включают собственные библиотеки, они создали оболочку, которая не поддерживается командой grep. Приносим извинения за беспокойство, рад, что вы в этом разобрались!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги