C# 如何避免在Xamarin iOS中调用不推荐的方法?

C# 如何避免在Xamarin iOS中调用不推荐的方法?,c#,ios,xamarin.ios,xamarin,orientation,C#,Ios,Xamarin.ios,Xamarin,Orientation,willRotateToInterfaceOrientation:自iOS 8以来,持续时间已被弃用。因此,在Xamarin iOS中也不推荐使用WillRotate。但在iOS 8上仍将调用WillRotate 如何确保iOS 8设备不会调用此方法?我需要编译器指令之类的东西吗?RespondsToSelector在此处不起作用。由于它已被弃用,并且您使用最新的SDK目标编译了应用程序,因此将不会调用它。此功能取决于所实现的方法与否。虽然许多API已被弃用,但为了向后兼容,该功能仍然存在 在这

willRotateToInterfaceOrientation:自iOS 8以来,持续时间已被弃用。因此,在Xamarin iOS中也不推荐使用WillRotate。但在iOS 8上仍将调用WillRotate


如何确保iOS 8设备不会调用此方法?我需要编译器指令之类的东西吗?RespondsToSelector在此处不起作用。

由于它已被弃用,并且您使用最新的SDK目标编译了应用程序,因此将不会调用它。

此功能取决于所实现的方法与否。虽然许多API已被弃用,但为了向后兼容,该功能仍然存在

在这种特殊情况下,这意味着如果实现该方法或该族中的任何其他支持方法,将调用该方法。如果不实现它,将调用新方法


哪些取决于底层框架用于探测的确切内容。他们可能使用RespondsToSelector,并根据方法的存在/不存在执行一个或另一个代码路径

我的部署目标是iOS 7,我使用最新的SDK iOS 8构建。此函数在iOS 8模拟器中调用。您使用的不是最新的目标。确定。如何使用最新的目标?在哪里可以找到此选项?设置SDK版本。项目选项>iOS构建>常规>SDK选项>SDK版本:标准。当前设置为标准设置。我可以在标准、7.1和8之间进行选择。这里没有最低操作系统版本选项。那么,我应该将SDK版本设置为8.0,并且不调用不推荐使用的函数吗?目前UIAlertView等也适用于iOS 8。如果我更改设置,UIAlertView会停止工作吗?在我的情况下,我必须实现WillRotate以支持iOS 7设备。在iOS 8上,我的函数被调用了两次,因为在iOS 8上会另外调用WillRotate,而不应该调用它。这不是一个大问题,但它需要一点性能,因为同样的工作要做两次。在iOS 8上总是调用UpdateViewConstraints。在iOS 7上,我使用WillRotate显式调用UpdateViewConstraints。所以iOS 8更新了我的约束两次。