首页 > 解决方案 > 将临时分发提交到 TestFlight 时 Xamarin ios 提交错误

问题描述

因此,在将我的应用程序提交给 Apple TestFight 后,我​​一直试图克服以下错误:

Dear Developer,

We identified one or more issues with a recent delivery for your app. Please correct the following 
issues, then upload again.

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use 
WKWebView for improved security and reliability. Learn more 
(https://developer.apple.com/documentation/uikit/uiwebview).

这是我尝试过的:

  1. 已验证我正在使用 xamarin >4.5

  2. 已验证我正在使用 Visual Studio >Studio 16.4.3

  3. 已验证我正在使用 Xamarin.iOS >Xamarin.iOS 13.10.0.17

  4. 我的 iOS 版本与 Microsoft 推荐的相同(见截图) 在此处输入图像描述

  5. 我使用 mtouch arg --warn-on-type-ref=UIKit.UIWebView 验证了构建输出没有对 UIWebView 的任何引用。

  6. 我的解决方案不包含文本“UIWebView”

这个问题似乎很受欢迎,因为我发现很多对同一问题的引用,但没有一个修复程序对我有用。我在这里做了所有的步骤

除了向 Apple 提交票证之外,有没有人对我应该寻找什么有任何建议,这显然是最后的手段。

我现在还执行了以下操作:

  1. 将 .ipa 文件重命名为 .zip 并解压缩。
  2. 对内容执行以下搜索 - grep -r UIWebView 。
  3. 得到以下结果 ./[app name].iOS 匹配

我不确定如何处理这些信息?

现在在 Visual Studio 中,我添加了这些额外的 mtouch 参数:

-warnaserror:1502 -warnaserror:1503

这产生了以下内容:

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 arnBooking.iOS      

不知道如何找到它在哪里?

标签: iosvisual-studioxamarinapp-storetestflight

解决方案


这里的问题原来是我使用的 HockeySDK.Xamarin 包,它现在显然已被弃用。删除此依赖项并替换为 AppCenter 后,提交被批准。我完全靠运气才知道这一点,所以我担心将来会再次陷入绝望的境地,苹果拒绝我的提交,几乎不知道如何解决。


推荐阅读