2016-09-28 133 views
2

今天大家下午好,我们收到了Apple的一个电话,说Apple包含在我们的应用程序中的Callkit会阻止应用程序审批流程。发布问题,包含Callkit,即使我们没有使用它

Apple发现Callkit存在问题,所有参考callkit的应用程序都不会发布。

问题是我们没有使用callkit,但它包含在组件Xamarine.Ios中,这是Ios Xamarine项目的主要组件。

有没有办法通过删除或类似的东西这个参考来解决这个问题? 非常感谢你为你的赞赏帮助

回答

3

默认情况下,您的设备构建(包括一个你提交给苹果)应启用管理连接(与链接SDK设置)。

这将从您的应用程序附带的Xamarin.iOS.dll中删除任何CallKit的痕迹(以及许多其他未使用的东西)。

这是除非它在你的应用程序(或第三方代码)中的其他地方使用,在这种情况下链接器将无法删除它。

+0

我不确定是否属实,因为iOS应用程序通常使用链接器标志'-ObjC'构建,它链接所有Objective-C类。因此,如果库中有Objective-C类使用特定的东西,那么即使您不使用这些类,您的应用也会将其链接起来。 – user102008

+0

这是因为* managed *链接器在AOT编译器之前运行,它将最终调用* native *链接器(但在该阶段,所有未使用的类型/框架的踪迹已被删除)。 – poupou

相关问题