Apple使用SDWebImage阻止iOS上的Xamarin应用程序

问题描述 投票:0回答:1

添加Xamarin.SDWebImage之后,Apple阻止了该应用程序。

您的应用使用或引用了以下非公开API:

  • LinkPresentation.framework
  • QuickLookThumbnailing.framework

在App Store上不允许使用非公共API,因为如果这些API发生更改,可能会导致不良的用户体验。

[在将来提交以下内容时继续使用或隐藏非公共API此应用可能会导致您的Apple Developer终止帐户,以及从App Store中删除所有关联的应用。

这是我使用的软件包:

  ....
 <package id="System.Xml.ReaderWriter" version="4.3.1" targetFramework="xamarinios10" />
  <package id="System.Xml.XDocument" version="4.3.0" targetFramework="xamarinios10" />
  <package id="Xam.Plugin.Connectivity" version="3.1.1" targetFramework="xamarinios10" />
  <package id="Xamarin.Build.Download" version="0.4.10" targetFramework="xamarinios10" />
  <package id="Xamarin.Firebase.iOS.Analytics" version="4.0.5.1" targetFramework="xamarinios10" />
  <package id="Xamarin.Firebase.iOS.CloudMessaging" version="2.0.8.1" targetFramework="xamarinios10" />
  <package id="Xamarin.Firebase.iOS.Core" version="4.0.13.1" targetFramework="xamarinios10" />
  <package id="Xamarin.Firebase.iOS.CrashReporting" version="2.0.0.5" targetFramework="xamarinios10" />
  <package id="Xamarin.Firebase.iOS.InstanceID" version="2.0.8" targetFramework="xamarinios10" />
  <package id="Xamarin.Google.iOS.Maps" version="2.5.0" targetFramework="xamarinios10" />
  <package id="Xamarin.SDWebImage" version="4.4.7" targetFramework="xamarinios10" />
</packages>
ios xamarin sdwebimage
1个回答
0
投票

所以几天前我在一个新项目上遇到了这个问题,遭到拒绝,告诉我我的应用程序使用或引用了以下非公开API:-LinkPresentation.framework和QuickLookThumbnailing.framework。

他们警告了我:

[在将来提交以下内容时继续使用或隐藏非公共API此应用可能会导致您的Apple Developer终止帐户,以及从App Store中删除所有关联的应用。

所以这非常严重。但是他们也为我提供了更多有用的信息:

如果您无权访问库的源,则可以使用“字符串”或“ otool”命令行搜索已编译的二进制文件工具。 “字符串”工具可以输出方法列表,库调用,“ otool -ov”将输出Objective-C类结构及其定义的方法。这些工具可以帮助您缩小问题代码所在的位置。您也可以使用“ nm”验证是否有第三方库正在调用这些API的工具。

所以,我打开了我的解决方案Visual Studio->右键单击iOS项目->查看存档->右键单击我发布的存档,然后单击“显示在Finder中”->右键单击XCARCHIVE文件和“查看包内容” 。在那儿,我看到了许多可以在其中使用这些命令行工具的文件夹。

然后,我回到Visual Studio,在项目选项中,将链接器设置设置为“仅链接框架SDK”,并将其添加到我的iOS项目选项:--linksdkonly --linkskip=LinkPresentation --linkskip=QuickLookThumbnailing中的其他mtouch参数输入中。

然后我重新整理,发现新档案的大小要小得多。我还比较了两个XCARCHIVE文件的软件包内容,发现较新的归档文件的msyms文件夹也具有较少的子文件夹。

我在回应拒绝时告诉他们,我对应用程序的存档不正确,我将使用新存档重新提交该应用程序。当我使用新档案重新提交应用程序后,他们在短短几个小时内批准并发布了该应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.