警告:“UIDevice”可能不会响应“-isMultitaskingSupported”

Posted

技术标签:

【中文标题】警告:“UIDevice”可能不会响应“-isMultitaskingSupported”【英文标题】:Warning: 'UIDevice' may not respond to '-isMultitaskingSupported' 【发布时间】:2011-03-20 21:26:52 【问题描述】:

我正在为 iPhone 使用新的FBConnect。但是我已经按照给定的步骤操作了。但是当我构建它时,它会向我显示这个警告“警告:'UIDevice'可能不会响应'-isMultitaskingSupported'”并且应用程序崩溃。我正在使用 iphone 模拟器 4.1,但它仍然向我显示此警告。如果有人可以帮助我解决这个问题,那就太好了。

提前致谢。

【问题讨论】:

【参考方案1】:

ios 4.0 之前的版本没有这个方法,所以你必须使用respondsToSelector 在调用它之前先检查该方法是否存在。

if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)] && [[UIDevice currentDevice] isMultitaskingSupported]) 
    // Device supports multi-tasking...


else 
    // No such luck.

因此,当您使用 iPhone 模拟器 4.1 时,我猜您已将 iOS 版本设置为 3.2(使用“硬件”菜单上的“版本”选项进行更改)。

【讨论】:

在您的示例代码中,您忘记处理 UIDevice 响应 isMultitaskingSupported 但返回 false 的情况。此外,模拟器中的硬件设置与警告无关。在您的项目或目标构建设置中检查“iOS 部署目标”。 感谢您的回复 :) 。因为我使用了具有 FBApp 登录对话框的 FBconnect。我试图看看这是否适用于这个新的 FBconnect,以便我可以在 3.2 和 4.0 上使用它。但我被困在这里 window = [[UIApplication sharedApplication].windows objectAtIndex:0];应用程序在这里崩溃.. :(. @Anomie True - 我只是想说明各种可能的状态。也就是说,我会更新sn-p。 (无论如何,您几乎总是会在同一个if 中同时检查两者。) 感谢您的回复 :) 。因为我使用了具有 FBApp 登录对话框的 FBconnect。我试图看看这是否适用于这个新的 FBconnect,以便我可以在 3.2 和 4.0 上使用它。但我被困在这里 window = [[UIApplication sharedApplication].windows objectAtIndex:0];应用程序在这里崩溃.. @Aby 老实说,这听起来像是一个不同的问题,所以我很想打开一个新问题,先搜索一下是否有人问过类似的问题。【参考方案2】:

您可以在您的项目中添加下面提到的方法,以在任何操作之前检查设备是否支持多线程

- (BOOL) isMultitaskingSupported

    BOOL result = NO;
    UIDevice *device = [UIDevice currentDevice];

    if (device != nil)
     
        if ([device respondsToSelector:@selector(isMultitaskingSupported)] == YES)
         
            #ifdef __IPHONE_4_0 
                #if (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0)
                    result = [device isMultitaskingSupported]; 
                #endif
            #endif
         
        return(result);
    

如果设备支持多任务处理,这将返回 Bool 即 True

【讨论】:

以上是关于警告:“UIDevice”可能不会响应“-isMultitaskingSupported”的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 警告:“可能无法响应”

NSBundle 可能不会响应 +loadNibNamed:owner:options:

在 iPhone 中收到警告:NSString 可能无法响应“-JSONValue”

如何停止 UIView 的警告可能无法响应选择器

此页面上的脚本造成Web浏览器运行速度减慢。如果继续运行,您的计算机将可能停止响应。

在方法中以编程方式移动控件警告“未找到方法”和“控件可能无法响应”