2011-03-20 1 views
0


iPhone 용으로 FBConnect을 새로 사용하고 있습니다. 하지만 주어진 단계를 수행했습니다.하지만 빌드 할 때 경고 메시지가 나타납니다. "경고 : 'UIDevice'가 '-isMultitaskingSupported'에 응답하지 않을 수 있으며 앱이 다운됩니다. iphone 시뮬레이터 4.1을 사용하고 있는데도 여전히이 경고를 보여줍니다. 누구든지 이걸로 나를 도울 수 있다면 그것은 위대 할 것이다.경고 : 'UIDevice'가 '-isMultitaskingSupported'에 응답하지 않을 수 있습니다.

미리 감사드립니다.

답변

4

4.0 이전의 iOS 버전에는이 방법이 없으므로, 먼저 메서드를 호출하기 전에 respondsToSelector을 사용해야합니다. 당신이 아이폰 시뮬레이터 4.1을 사용하는 동안 그와 같이

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

} 
else { 
    // No such luck. 
} 

는, 나는 당신이 3.2로 iOS 버전 (이을 변경하려면 하드웨어 메뉴에서 버전 옵션을 사용) 설정 한 같은데요.

+0

지원 UIDevice가'isMultitaskingSupported'에 응답하는 경우를 처리하는 것을 잊었지만 false를 반환합니다. 또한 시뮬레이터의 하드웨어 설정은 경고와 관련이 없습니다. 프로젝트 또는 대상 빌드 설정에서 "iOS Deployment Target"을 선택하십시오. – Anomie

+0

답장을 보내 주셔서 감사합니다 :). FBApp 로그인 대화 상자가있는 FBconnect를 사용했습니다. 이 새로운 FBconnect가 작동하여 3.2와 4.0 모두에서 사용할 수 있는지 확인하려고했습니다. 하지만 여기에 갇혀있어 window = [[UIApplication sharedApplication] .windows objectAtIndex : 0]; 응용 프로그램이 여기에 충돌하고 있습니다. :(. – insomiac

+0

@Anomie True - 나는 여러 가지 가능한 상태를 설명하기 위해 노력한 것입니다. 즉, 스 니펫을 업데이트 할 것입니다. (당신은 거의 항상 같은 if 어쨌든.) –

0

당신은 어떤 행동 이전에 장치 지원 멀티 스레딩

- (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 즉 반환됩니다 확인 요 당신의 프로젝트에 대한 언급 메도 아래에 추가 할 수 있습니다, 당신의 샘플 코드에서 멀티 태스킹