Che*_*2IT 6 c# uiwebview xamarin.ios xamarin xamarin.forms
我们有一个新的应用程序正在尝试提交到应用程序商店(使用 TestFlight 进行预发布 beta 测试),但由于 UIWebView 的引用而收到无效的二进制消息:
TMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability.
我们遵循了 Xamarin 在此处提供的指南:https ://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/webview ? tabs = macos#uiwebview-deprecation-and-app-store -拒绝-itms-90809
我们有:
我还删除了我的包、bin 和对象文件夹,以确保我获得完整的构建,但在上传时继续收到此响应。
编辑:我在我的 MTOUCH 中添加了警告标志以查看它的使用位置,现在我确实看到了警告,所以它就在那里......某处。
添加警告代码:
--warn-on-type-ref=UIKit.UIWebView
我怎样才能找到哪个包正在使用 UIWebView 而不随意更新它们并希望能解决问题(没有其他意想不到的后果)?
编辑 #2:我按照下面的建议进行了 GREP 搜索 - 这是我的结果
grep -r 'UIWebView' .
Binary file ./.vs/NorthernLights/xs/sqlite3/storage.ide matches
./iOS/NorthernLights.iOS.csproj: <MtouchExtraArgs>--optimize=experimental-xforms-product-type --warn-on-type-ref=UIKit.UIWebView</MtouchExtraArgs>
Binary file ./packages/Xamarin.Forms.4.6.0.726/buildTransitive/XCODE10/Xamarin.Forms.Platform.iOS.dll matches
Binary file ./packages/Xamarin.Forms.4.6.0.726/buildTransitive/XCODE11/Xamarin.Forms.Platform.iOS.dll matches
Binary file ./packages/Xamarin.Forms.4.6.0.726/build/XCODE10/Xamarin.Forms.Platform.iOS.dll matches
Binary file ./packages/Xamarin.Forms.4.6.0.726/build/XCODE11/Xamarin.Forms.Platform.iOS.dll matches
Binary file ./packages/HockeySDK.Xamarin.5.2.0/lib/Xamarin.iOS10/HockeySDK.iOSBindings.dll matches
Run Code Online (Sandbox Code Playgroud)
Looks to me like HockeyApp may be one of my culprits. I've already updated the package, but I do know HockeyApp's been migrated to AppCenter, so perhaps this code is no longer maintained. Also see a reference SQLite, which is one set of packages I can't get updated without breaking other parts of my app.
EDIT #3
We've removed HockeyApp but still have the two reference warnings. I've removed SQLIte PCL and re-added it to the most recent version but still see the reference to the storage.ide file, which I think is just a local database file I can ignore. It looks like all that's left is Xamarin.Forms references, but all of this should be dealt with via my mtouch arguments:
<MtouchExtraArgs>--optimize=experimental-xforms-product-type --warn-on-type-ref=UIKit.UIWebView</MtouchExtraArg
Can't figure out what I'm missing...
好吧,我想出了我自己的例子。一旦我知道要查找什么以及要忽略什么,grep 工具就很棒:
grep -r UIWebView .由于 MTOUCH 规则,我可以安全地忽略 Xamarin.Forms 引用,虽然我不知道 SQLLite 引用是什么,但这不是问题。就我而言,唯一重要的是 HockeyApp,它是我们使用的一种崩溃日志工具,但已被弃用并被 Microsoft AppCenter 取代。该代码似乎没有得到维护(毫不奇怪),并且其中仍然包含该引用。一旦我们删除了 HockeyApp 和相关代码,我们就能够在没有问题/警告的情况下提交。
附带说明...我的开发环境仍然显示 Xamarin.Forms 中的引用...您只需注意,如果您按照原始文章设置了正确的 MTOUCH 参数,则可以忽略它们。
这是我的 grep 结果,唯一重要的是 HockeyApp 参考。
Binary file ./.vs/NorthernLights/xs/sqlite3/storage.ide matches
./iOS/NorthernLights.iOS.csproj: <MtouchExtraArgs>--optimize=experimental-xforms-product-type --warn-on-type-ref=UIKit.UIWebView</MtouchExtraArgs>
Binary file ./packages/Xamarin.Forms.4.6.0.726/buildTransitive/XCODE10/Xamarin.Forms.Platform.iOS.dll matches
Binary file ./packages/Xamarin.Forms.4.6.0.726/buildTransitive/XCODE11/Xamarin.Forms.Platform.iOS.dll matches
Binary file ./packages/Xamarin.Forms.4.6.0.726/build/XCODE10/Xamarin.Forms.Platform.iOS.dll matches
Binary file ./packages/Xamarin.Forms.4.6.0.726/build/XCODE11/Xamarin.Forms.Platform.iOS.dll matches
Binary file ./packages/HockeySDK.Xamarin.5.2.0/lib/Xamarin.iOS10/HockeySDK.iOSBindings.dll matches```
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1223 次 |
| 最近记录: |