Xamarin.forms: [Bug] 2020年4月苹果弃用UIWebView

创建于 2020-03-03  ·  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/zh-cn/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/zh-cn/xamarin/xamarin-forms/user-interface/webview?tabs=windows#uiwebview -deprecation-and-app-store-rejection-itms-90809

https://docs.microsoft.com/zh-cn/xamarin/xamarin-forms/release-notes/4.5/4.5.0

我仍然从苹果收到消息:
“亲爱的开发商,

我们发现您的应用“ XXXXXXXX” 3(46)最近交付时出现了一个或多个问题。 您的交付成功,但是您不妨在下一次交付中更正以下问题:

ITMS-90809:不推荐使用的API-从2020年4月开始,Apple将停止接受使用UIWebView API的应用程序的提交。 有关更多信息,请参见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

最有用的评论

好吧,我修好了。 这是我的程序。

通过网络通过Mac-mini在线在win10的Visual Studio上构建。 步骤是这样的:

  • “ bin / obj跳舞”
  • 从项目中卸载Xamarin.Visual.Material.Design
  • “ bin / obj跳舞”
  • 安装Xamarin.iOS.MaterialComponents不稳定版本92.0.0-rc2
  • 安装Xamarin.Visual.Material.Design 4.5.0.356

唯一的问题是该组件。 Firebase云消息传递不是问题。 谢谢。

所有92条评论

@EdoardoCinelli对于Release | iPhone配置,您是否已将链接器行为设置为“仅SDK”或“全部链接”?

我也遵循了该链接,但仍然收到该消息。 下面也是我的应用程序的cs.proj(如果有帮助的话)。 链接器设置为仅sdk链接框架,并且我在mtouch本体中添加了“ --optimize = experimental-xforms-product-type”。

<?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 Build刀片并确保Linker行为设置为Link AllOnly Only ,从UI进行操作,请参见下文。

image

当然,请确保针对正确的构建配置执行此操作,请使用屏幕顶部的组合框

我都尝试过,但是我仍然从苹果收到邮件。
我该如何解决?

其中之一可以包含对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 :

@mharrisonbit只是为了更新其他人; 我们已经离线聊天了一些,您似乎拥有所有正确的版本和设置,但仍然无法正常工作。 您也已经给我发送了NuGets列表,请在这里添加它吗? 因此,我们可以查看其中是否有任何可能引起麻烦的东西。

嗨!

我有同样的问题。 我们与@jfversluis进行了邮件

如果有帮助,这是我的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上进行构建和发布。 我以前没写过我从代码和NuGet中删除了所有Firebase参考,但我仍在接收邮件。 AppCenter是收益吗?

@EdoardoCinelli您可以在App Center上检查构建配置吗?

image

确保选择了Xamarin.iOS 13.10版本来构建应用

setting1
setting2
这是我的设置

@jfversluis这是我在iOS项目中使用的nuget,我希望这会帮助您解决问题。 再次感谢大家的帮助。 同样,所有这些都被存档在我的本地,然后被推送到游戏商店。
<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" />

好了,看来您中的许多人正在使用Material视觉效果,该视觉效果取决于MaterialComponents 。 最新的稳定版本是72.2.0.1,但是我遇到了这个问题https://github.com/xamarin/XamarinComponents/issues/745 ,其中指出对UIWebView的引用仅在92.0.0-rc1中被删除。 。

检查您是否在项目中实际使用了Material。 如果不是,请尝试删除引用_或_手动将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/zh-cn/azure/devops/pipelines/agents/hosted?view=azure-devops#how -can-i-manually-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,App Center是手动的吗? 您确定所有正确的设置都正确吗?

我只是创建了一个构建,但没有得到该消息,也没有对nuget软件包进行任何更改,这些更改只是在要求的某些设计更改中引用了。

@mharrisonbit您所说的“设计变更”到底是什么意思?

没有重大变化,只是在一些观点上有一些余地。 我没有在任何视图中添加或删除任何元素(标签,按钮等)。

好,那是...奇怪。 也许突然之间,对于这个版本,有些地方掉了,您得到了合适的二进制文件? 无论如何,很高兴看到它已解决! :)

我知道我的运气如何,这只是一次。 大声笑,我希望一切都准备就绪,从现在开始我很高兴。 我感谢大家的帮助。

@jfversluis起作用了,我删除了Xamarin.Forms.Visual.Material,清理了解决方案,删除了bin和obj文件夹,甚至保证重启了Visual Studio和macMini。
我使用在Mac mini上连接的Windows的Visual Studio预览版手动构建。
实际上,我需要视觉材料,我将再次安装回我的应用程序,并且我知道如果苹果开始拒绝我的应用程序,我可以不带任何材料发送它。
您是否有通过必要的校正更新视觉材料的预测?
谢谢!

很棒@Flaviocrtt! 感谢您让我们知道!

我认为重大事项的更新已经在进行中。 如果您想立即使用它们,只需再次安装它,然后将iOS项目上的MaterialComponents NuGet更新为最新的预发行版。 再次清理所有bin和obj内容,但这应该可以工作,让我们使用material :)

@EdoardoCinelli似乎我们可以让大多数人在这里工作,您还吗?

好吧,我修好了。 这是我的程序。

通过网络通过Mac-mini在线在win10的Visual Studio上构建。 步骤是这样的:

  • “ bin / obj跳舞”
  • 从项目中卸载Xamarin.Visual.Material.Design
  • “ bin / obj跳舞”
  • 安装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尝试升级与广告有关的插件。 这似乎是一个可能引用Webview的程序包

感谢@jfversluis ,我将所有插件升级到最新版本,仍然有问题,知道吗?

@vunhutien看起来这个问题可能是您造成的: https :

@vunhutien看起来像是这个问题可能是您造成的: xamarin / GoogleApisForiOSComponents#380

非常感谢。

@ rdev24608看来您没有使用4.5稳定软件包

@ rdev24608

尝试这个
https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -594758733

如果仍然无法正常工作,有什么例外?

例外?

通过将* .ipa文件, cd解压缩到解压缩的目录,然后从终端执行grep -lr "UIWebView" . ,尝试检查哪个包包含对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看到您正在使用Material,情况可能是这样: https :

@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或App Center进行构建? 您是否为相关的构建配置设置了正确的配置? 看到其中一些会有所帮助。

还要确保您阅读了Xamarin.iOS团队的这份后续文档,该文档可能会有所帮助: https: //docs.microsoft.com/zh-cn/xamarin/ios/release-notes/13/13.16#help -with- uiwebview弃用

@jfversluis美好的一天!

感谢您的快速回复和帮助。

我确实读过您分享的文章,但尚未应用--warn-on-type-ref = UIKit.UIWebView
但尝试应用--optimization = force-rejected-types-removal并出错,因为在最新更新中没有这样的论点。
是的,可以肯定的是,我们不会在渲染器中使用任何UIWebView,而是使用WKWebView。

我们完全在使用MSBuild utils连接到mac的Windows PC上构建,我们不使用任何其他解决方案。

对于配置,需要的标志应用于所有配置,因此将仅列出与发布类型相关的信息,
这将是配置列表:

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

这是一个版本清单:
`===适用于Mac的Visual Studio Community 2019 ===

版本8.5.1(内部版本42)

=== Mono Framework MDK ===

运行:
单声道6.8.0.123(2019-10 / 1d0d939dc30)(64位)
套件版本:608000123

MSBuild SDK:/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:/ Users / sergiiputintsev / Library / Android / sdk
支持的Android版本:
8.1(API级别27)

SDK工具版本:26.1.1
SDK平台工具版本:28.0.1
SDK生成工具版本: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
Darwin 19.3.0 Darwin内核版本19.3.0
太平洋标准时间2020年1月9日20:58:23
`

我还认为这与库无关,因为grep显示SomeMobileApp.iOS.app/Xamarin.Forms.Platform.iOS.dll中出现UIWebView
SomeMobileApp.iOS.app/SomeMobileApp.iOS
SomeMobileApp.iOS.app/Xamarin.iOS.dll

但尝试应用--optimization = force-rejected-types-removal并出错,因为在最新更新中没有这样的论点。

我不确定您的意思。 我将其解释为: 您尝试使用此参数,但是没有用。 使用此工具时出现什么错误?

真奇怪。 一切似乎都井井有条,但是我们必须缺少一些东西。

现在,我仔细查看了您的csproj,我发现您使用的标志有错字<MtouchExtraArgs>--optimize=experemental-xforms-product-type</MtouchExtraArgs>应该是<MtouchExtraArgs>--optimize=experimental-xforms-product-type</MtouchExtraArgs>

我也有这个问题,但是它消失了。。我想一切都很好。 我没有使用Material。
Xamarin.Forms 4.5.0.530
Xamarin.IOS 13.16.0.11

真的不知道什么最终解决了它,因为--warn-on-type-ref=UIKit.UIWebView一直抱怨Xamarin.Forms.Platform.IOS中仍然存在引用,我做了很多尝试以摆脱它,但是您可以尝试以下操作:

  • 删除bin和obj文件夹。
  • ~/Library/Caches/Xamarin/mtbs删除Mac上的缓存

--warn-on-type-ref=UIKit.UIWebView仍说有参考,但App Store不再抱怨。 我希望这不是a幸。

嘿,
仍然有同样的问题。 我尝试了所有方法,甚至是“ --warn-on-type-ref = UIKit.UIWebView”,它还引用了:
链接后(Xamarin.Forms.Platform.iOS,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = null)仍然存在一个或多个用于键入'UIKit.UIWebView'的引用(甚至在链接之前)

我正在使用Xamarin.Forms.iOS 4.5.0.617(最新),并且在我的iOS代码中未使用任何引用。
我该怎么办才能找到问题?

编辑:
AppConnect仍引用该问题,我正在使用Xcenter和Xamarin.iOS 13.14(Mono 6.8)和XCode 11.4的appcenter构建应用程序。
设置了参考标记--optimize = experimental-xforms-product-type,但未进行任何更改。

您能在我的GitHub个人资料上找到我的电子邮件地址并联系到那里吗? 从来没有我们无法解决的情况,所以让我们为您解决吧!

@jfversluis
我遇到了与@ R41z0r相同的问题

首先,我关注了您的文章-https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/

然后,我手动找出了可以刷新UIWebView的dll。

  • Xamarin.auth

  • MonoTouch。对话框

从我的项目中删除这些内容后,我重新提交了应用程序以进行存储,但仍然收到来自苹果的相同警告。
然后我才知道--warn-on-type-ref = UIKit.UIWebView

在我的项目中使用--warn-on-type-ref = UIKit.UIWebView之后,发生以下错误。
链接后(Xamarin.Forms.Platform.iOS,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = null)仍然存在一个或多个用于键入'UIKit.UIWebView'的引用(甚至在链接之前)

Xamarin.Forms版本-4.6.0.726
Xamarin.iOS版本-13.16.0.13
链接器行为-仅SDK
mtouch参数---optimize = experimental-xforms-product-type

我使用对象浏览器检查了Xamarin.Forms.Platform.iOS。 我怀疑它仍然包含WebViewRenderer。 参考所附的屏幕截图
xamarin ios

我在这里做错什么了吗?

我在同一条船上。 没有错误拒绝,我无法让我的azure管道提交给苹果。
请参阅我的stackoverflow问题以获取更多详细信息https://stackoverflow.com/questions/61567850/still-getting-itms-90809-deprecated-api-usage-after-using-optimize-force-reje?noredirect=1#comment108910675_61567850

输入的正确的mtouch args是什么? 是吗
--optimize=experimental-xforms-product-type
要么
--optimize=force-rejected-types-removal

或两者?

好吧,我仍然被困。 我已经对项目进行了一些测试,这就是我发现的结果。
如果仅使用--warn-on-type-ref = UIKit.UIWebView -wa rnaserror:1503运行它
我的构建因MT1503而失败,因为MT1503链接后仍然存在UIWebView。
如果我在运行警告时加上--optimize = experimental-xforms-product-type
我得到了相同的结果,MT1503上的错误,所以看来这什么也没做。
如果我使用--optimize = force-rejected-types-removal来运行它,则构建成功,并且链接后没有任何关于UIWebView的消息。

在我真正的管道中,我正在运行--optimize = force-rejected-types-removal,但是Apple仍然拒绝它。 所以,我不明白问题出在哪里。 我不在项目的任何地方使用UIWebView。

>

只是说,我的问题是,我忘了在所有
实例(调试/发布,iPhone / iPhone模拟器)。

检查它是否会对您有所帮助。

@ R41z0r谢谢。 是的,它已经设置好了,我可以在我的azure构建日志中看到它。 这是一个令人烦恼的问题,因为此时我的构建管道没有用,并且我有测试人员/涉众,他们每周通过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 args。 但是构建现在可以通过了。

我希望这可以帮助某人更快地找到根本原因。

我将Visual Studio和Xcode更新为最新版本,但是--optimize=experimental-xforms-product-type仍然不适合我。
幸运的是, --optimize=experimental-xforms-product-type --optimize=+force-rejected-types-removal做到了。

但尝试应用--optimization = force-rejected-types-removal并出错,因为在最新更新中没有这样的论点。

我不确定您的意思。 我将其解释为: 您尝试使用此参数,但是没有用。 使用此工具时出现什么错误?

真奇怪。 一切似乎都井井有条,但是我们必须缺少一些东西。

--optimization = force-rejected-types-removal导致单声道错误未知命令行参数

但尝试应用--optimization = force-rejected-types-removal并出错,因为在最新更新中没有这样的论点。

我不确定您的意思。 我将其解释为: 您尝试使用此参数,但是没有用。 使用此工具时出现什么错误?
真奇怪。 一切似乎都井井有条,但是我们必须缺少一些东西。

--optimization = force-rejected-types-removal导致单声道错误未知命令行参数

你好
参数--optimization应该是--optimize

@taublast @Bradtus是正确的。 在一个文档页面上,错误地编写了优化。 应该优化

这里同样的问题。 当苹果建议从几个月后开始弃用时,今天我们就不可能被封锁了。

@biapar

嗨, @ biapar,您完全正确。 而且,您不应为此而感到困惑,因为我们已经为您准备了几个月的解决方案。 事实证明,它每次都有效。

让我知道什么不适合您,我们可以找出答案

@biapar

我已经制作了所有内容(在“发布”模式下)。 我将逐步尝试。
image

image

image

===适用于Mac的Visual Studio Community 2019 ===

版本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 ===

运行:
单声道6.8.0.99(2019-10 / 1182f8cbf5b)(64位)
套件版本:608000099

===罗斯林(语言服务)===

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
Versioni 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
MSBuild的SDK:/Library/Frameworks/Mono.framework/Versions/6.8.0/lib/mono/msbuild/Current/bin/Sdks

===运行时di .NET Core ===

运行时:/ usr / local / share / dotnet / dotnet
Versioni运行时:
3.1.2
3.1.1
3.0.1
3.0.0
2.1.17
2.1.16
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.9
2.1.8

=== Xamarin.Profiler ===

版本: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设计器===

版本:16.5.0.471
哈希:35aa4889d
分支机构:遥控器/原点/ 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工具版本:26.1.1
Versione degli strumenti della piattaforma 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 ===

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

=== Android SDK管理器===

版本:16.5.0.39
哈希:6fb4c79
分支机构:遥控器/原点/ d16-5
建立日期:2020-04-29 20:09:00 UTC

=== Android设备管理器===

版本:16.5.0.73
哈希:dff2f03
分支机构:遥控器/原点/ d16-5
建立日期:UTC 2020-04-29 20:09:20

=== Xamarin检查器===

版本:1.4.3
哈希:db27525
分支:1.4版本
建立日期:2018年7月9日星期一21:20:18 GMT
客户端兼容性:1

===生成信息===

发行ID:805050007
Git修订版:f7b7ac4291b7712b5e02dd65d45685346f321ded
建立日期:2020-04-30 11:54:56-04
Build分支:release-8.5
Xamarin扩展:f7b7ac4291b7712b5e02dd65d45685346f321ded

===操作系统===

Mac OS X 10.15.4
Darwin 19.4.0 Darwin内核版本19.4.0
2020年3月4日星期三22:28:40
根目录:xnu-6153.101.6〜15 / RELEASE_X86_64 x86_64

===已启用的用户安装扩展===

Xamarin.Forms HotReload扩展1.4.0
MonoGame扩展3.7.1.189
XAML样式器2.0.1

您是否还实际上将构建提交到App Store? 我认为在某些情况下,输出中的警告可能会给出误报。 另外,您是通过Visual Studio for Mac归档应用程序还是通过App Center或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 for Mac归档应用程序还是通过App Center或Azure DevOps进行归档?

我在Mac和Windows上使用Visual Studio。

但尝试应用--optimization = force-rejected-types-removal并出错,因为在最新更新中没有这样的论点。

我不确定您的意思。 我将其解释为: 您尝试使用此参数,但是没有用。 使用此工具时出现什么错误?

真奇怪。 一切似乎都井井有条,但是我们必须缺少一些东西。

--optimization = force-rejected-types-removal导致单声道错误未知命令行参数

但尝试应用--optimization = force-rejected-types-removal并出错,因为在最新更新中没有这样的论点。

我不确定您的意思。 我将其解释为: 您尝试使用此参数,但是没有用。 使用此工具时出现什么错误?
真奇怪。 一切似乎都井井有条,但是我们必须缺少一些东西。

--optimization = force-rejected-types-removal导致单声道错误未知命令行参数

你好
参数--optimization应该是--optimize

哇,真好!
@jfversluis在这里(https://docs.microsoft.com/zh-cn/xamarin/ios/release-notes/13/13.16)他们只是给您错误的代码

一个有力的解决方案是在项目的其他mtouch参数中添加--optimization = force-rejected-types-removal。 这将从应用程序中删除UIWebView的痕迹。 但是,任何引用该类型的代码将无法正常工作(预期异常或崩溃)。 仅当您确定代码在运行时无法访问(即使通过静态分析可以访问)时,才应使用此选项。

无论如何,我设法通过以下方式将其传递给AppStore:

  1. 启用增量构建OFF(重要)
  2. 额外的东西:--optimize =实验性xforms-product-type --optimize = + force-rejected-types-removal --warn-on-type-ref = UIKit.UIWebView -wa rnaserror:1503

在这里(https://docs.microsoft.com/zh-cn/xamarin/ios/release-notes/13/13.16)他们只是给您错误的提示:

我已经对该文档打开了PR,以解决此问题。 现在有更多的人与我联系,但现在还没有被合并。

很高兴听到您修复它!

@jfversluis我对此UIWebView弃用问题有同样的问题。
我已经尝试过您和其他人提供的每种解决方案。

  1. 我将链接行为更改为“全部链接”。

  2. 我添加了MTouch Link参数--optimize = experimental-xforms-product-type --optimize = force-rejected-types-removal --warn-on-type-ref = UIKit.UIWebView

  3. 将xamarin.nus的nuget软件包升级到最新版本(4.6.0.726)

  4. 我正在使用Visual Studio For Mac社区的最新版本:
    适用于Mac的Visual Studio社区2019
    版本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

但是,当我将新的构建推送到testflight时,仍然收到来自Apple的UIWebView Deprecation问题消息。
创建构建时,我仍然收到此消息。
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引起的,该图书馆很旧并且现在不活跃。
所以我删除了这个包。
它应该允许我的应用现在通过testflight而不发出任何警告。

谢谢。

@ W0126真是个好消息! 让我知道事情的后续!

你好

最近5年来,我一直在使用XF开发应用程序。
我也面临着同样的问题,非常失望。 有时,由于缺乏Xamarin的支持和有针对性的帮助,我决定切换到另一个平台。

然后我浏览了此链接https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/
我遵循了所有说明,并成功在TestFlight上载了构建以进行测试。
布特TTTTTTTT

更改LinkAll后,Signalr遇到严重问题,如果将链接选项更改为LINK ALL,则无法使用Signalr功能。

错误

找不到类型'Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionFactory'的合适构造函数。 确保类型是具体的,并为公共构造函数的所有参数注册服务。

我尝试使用跳过选项,但没有运气。

--linkskip = Microsoft.AspNetCore

我对Xamarin无法帮助开发人员感到失望。

如果有人有任何解决方案,请帮助我。

@LumiProj您是否偶然尝试将链接器行为设置为仅SDK?

我决定再次更新每个软件包(它们是-1版本的更新),并再次执行步骤。
这是我的Apple Config:
image

你好

我也遇到了问题,并尝试了上述建议的修复程序。 我在我的所有版本(调试/发行版)上都尝试了带有这些标签--optimize=experimental-xforms-product-type --optimize=+force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503 Link Sdk和Link All。 我还更新了所有软件包,这些是我使用的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
(不适用于“链接SDK”或“全部链接”)

在过去的几天中,我一直在浏览不同的示例和各种论坛,当我grep -r "UIWebView" .时,它们都无法删除二进制文件中的提及,因此都被应用程序商店拒绝。 任何建议或意见,将不胜感激!

你好

最后,我身体状况良好。
使用--optimize = experimental-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 args。 但是构建现在可以通过了。

我希望这可以帮助某人更快地找到根本原因。

非常感谢您。
您节省了我很多工作时间。 我使用给出的所有指南和建议做了所有我可以做的事情,但没有一个可以真正获得Xamarin.Forms.iOS.Platform dll中的UIWebView参考。 我快到那儿了,但是有些东西丢失了,我可以摆脱App Store的拒绝。 最后,我找到了您遗失的最后一块,并且现在可以使用了。 我现在可以开始测试阶段。

有同样的问题。
遵循所有新规则,掌握最新信息。
手术eephyu是否建议拆开ipa的包装
grep仍然仅在应用程序二进制文件中找到对UIWebView的引用。
¯_(ツ)_ /¯

答案是CALABASH! 和Xamarin TestCloudAgent nuget包。
删除该程序包和所有Calabash.Start()引用,即可通过App Store。

@pmace很棒,您找到了解决方案。 无论如何,由于应使用Apple不允许的私有API,因此应始终将Calabash软件包从应转到App Store的版本中删除:)

对于发现此问题的任何人:试一试Xamarin.Forms 5(预发布的atm),该UI删除了UIWebViewRenderer,应该使您摆脱麻烦,而无需任何构建标志或其他麻烦

你好

我也遇到了问题,并尝试了上述建议的修复程序。 我在我的所有版本(调试/发行版)上都尝试了带有这些标签--optimize=experimental-xforms-product-type --optimize=+force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503 Link Sdk和Link All。 我还更新了所有软件包,这些是我使用的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
(不适用于“链接SDK”或“全部链接”)

在过去的几天中,我一直在浏览不同的示例和各种论坛,当我grep -r "UIWebView" .时,它们都无法删除二进制文件中的提及,因此都被应用程序商店拒绝。 任何建议或意见,将不胜感激!

我也有同样的问题:(, @JJwilkin您解决了吗?

@jmatusburgos请发布您的项目详细信息,直接给我发送电子邮件

@jmatusburgos请遵循此方法。
https://github.com/xamarin/Xamarin.Forms/issues/9823#issuecomment -630945296

@LumiProj我有那个说法。

@jfversluis我使用Xamarin.forms 4.8.0.1364。 我不得不反安装许多图书馆像Google分析Google.SigIn这给了我引用的UIWebView和Im升级anothers直到命令grep的不要给我参考了一些图书馆,但现在当我使用grep -r "UIWebView" .我得到Binary file ./MyApp.iOS.app/Xamarin.Forms.Platform.iOS.dll...不会告诉我一些明确的参考。

我在Microsoft计算机和带有XCode 12的Mac上使用VS2019。

这是我的配置:
我用Link All和LinkSdkAssemblies进行了测试

image

@jmatusburgos也许您可以在我的GitHub页面上找到我的电子邮件并到达那里,以便我们找出

@jfversluis谢谢您的回复,我想评论一下,在我的同事的帮助下,我们发现了3个导致问题的库:

Refractored.XamForms.PullToRefresh 2.4.1
Paypal表格2.18.6
Xamarin.PayPal.iOS 2.18.0

所有这些库都已过时。 我们已经删除,终于可以工作了。
有趣的是,使用命令grep没有显示该库的匹配项。

因此有时可以通过拼图找到有罪的图书馆。 再次感谢@jfversluis的提供:)

是的,我想是因为它们包括本机库,所以他们创建了一个包装程序,该包装程序未被该grep命令获取。 对不起,麻烦您高兴!

此页面是否有帮助?
0 / 5 - 0 等级