我正在使用Xamarin Forms(Android和iOS)开发应用程序。我已经准备好第一个应用程序版本,并且试图将其上传到TestFlight,以便与其他用户一起测试该应用程序。为了减小ipa大小,我将链接器行为设置为“仅链接框架SDK”。
减小ipa大小后,我尝试上载该应用以测试飞行,但收到了下一条错误消息:
问题是我没有使用列表中提到的所有项目。我未在应用程序内部使用WebView,也未请求位置或日历的权限。我知道一旦将权限添加到inflo.plist,这些错误就会消失,但是我没有使用位置或日历。
如何修改我的应用程序以从TestFlight平台中删除这些错误?
如何知道正在使用哪个库(或NuGet)请求这些项目中的任何一个?
答案 0 :(得分:1)
要摆脱这一点
ITMS-90809:不推荐使用的API用法-不再接受使用UIWebView的新应用程序。而是使用WKWebView来提高安全性和可靠性。
灵魂-https://docs.microsoft.com/en-us/xamarin/ios/user-interface/controls/webview#uiwebview-deprecation
其他问题
灵魂-https://docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/security-privacy
您需要为要在应用程序中使用的设备功能手动设置一条消息。
例如Camera,Location,Calendar等
答案 1 :(得分:0)
<key>NSLocationAlwaysUsageDescription</key>
<string>We would like to know your location to find places near you</string>
<key>NSCalendarsUsageDescription</key>
<string>This app needs access to calendar when open</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>We would like to know your location to find places near you</string>
ITMS-90809:
https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/
答案 2 :(得分:0)
第一次将Xamarin项目上载到AppStore时,我遇到了同样的问题:TMS-90809和TMS-90809,虽然仅使用WKWebView和几乎所有可能的ITMS-90683版本(联系人,日历,音乐,Siri,麦克风,位置,蓝牙),而我的应用程序都没有使用。
因此,将UsageDescriptions添加到plist确实是不好的做法,而且我不知道是哪个nuget软件包引起了这个问题。我认为它可能是Syncfusion或Google Cloud Translate,但实际上无法在网络上找到确认信息。
简单的解决方案是启用托管链接,因此在Apple验证过程中,所有导致问题的部分都不会被视为应用程序的一部分:
这立即解决了所有问题。