针对不同iOS版本的不同代码仍显示警告

时间:2015-09-25 13:12:28

标签: ios objective-c ios9 xcode7

自从更新到iOS 9.0以来,我正试图清除我的应用程序的所有警告,我正在尝试这样做:

#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_9_0
// less than iOS 9.0
- (NSUInteger)supportedInterfaceOrientations
{
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        return UIInterfaceOrientationMaskPortrait;
    } else {
        return UIInterfaceOrientationMaskAll;
    }
}
#else
// iOS 9.0 or later
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        return UIInterfaceOrientationMaskPortrait;
    } else {
        return UIInterfaceOrientationMaskAll;
    }
}
#endif

但是我仍然收到所有警告,我做错了什么?

我发现此说明在iOS 8.0和iOS 7.0中无法正常运行。

- (UIInterfaceOrientationMask)supportedInterfaceOrientations

2 个答案:

答案 0 :(得分:1)

我想 - (NSUInteger)supportedInterfaceOrientations {}在iOS 9.0中不起作用。

因此,您必须使用 - (UIInterfaceOrientationMask)supportedInterfaceOrientations。它适用于所有iOS版本。

不要检查iOS版本。只需使用
- (UIInterfaceOrientationMask)所有iOS版本的supportedInterfaceOrientations方法。

答案 1 :(得分:-2)

您的#if代码和#else代码完全相同。那么你期待什么?