2011-08-03 2 views
1

iPhone 및 iPod Touch 응용 프로그램을 성공적으로 저장했지만 나중에 iPad 3.2에서는 작동하지 않지만 배율이 4 인 iOS가 높은 iPad에서는 작동합니다.iPhone과 iOS 3.2 호환성이있는 iPad

이유 : 영화 플레이어의 setOrientation 속성입니다.

실제 쿼리 : 내가 아이폰 OS이 코드는 오류를 던지고 3.0 내 MAC BOOK에 동일한 코드를 실행할 때 MAC 데스크톱에서 아이 패드 3.2에서 작동하도록하기 위해 나는

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    { 
     player.view.frame = CGRectMake(0, 0, 768, 1024); 
     [self.view addSubview:player.view]; 
     [player play]; 
    } 
    else { 
       #ifdef __IPHONE_4_0 
        player.controlStyle = MPMovieControlStyleNone; 
       #else 
        [player setOrientation:UIDeviceOrientationPortrait animated:NO]; 
} 

을 사용했다. .. 지원되지 않습니다. 그래서

  • 내가 (아이폰 OS 4) MAC 바탕 화면에 위의 코드를 빌드하는 경우

    것이다 아이폰 OS 3.0 아이폰 장치에 그 일 ? .. 이벤트 키트 프레임 작업 참조 (iOS 3.0에서는 오류가 발생하지만 iOS 4에서는 오류가 발생 함).

  • 유니버설이 아닌 별도의 iPad 앱을 사용해야합니까?

  • 속성의 측면에서 iOS 3.2 및 iPhone과 iPhone 3.2의 차이점은 무엇입니까?

+1

"아이폰 OS 3.2와 아이폰 OS 3.2와의 차이점은 무엇입니까?"아이폰 OS 3.2는 없다. 그것은 iPad 전용 릴리스였습니다. –

답변

0

저는 컴파일 타임에 그렇게 하드 코딩하지 않아야한다고 생각하지 않습니다. 대신 클래스의 특정 클래스 나 메서드/속성이 있는지 테스트 한 다음 적절한 작업을 수행해야합니다. [NSObject respondstoSelector :]를 사용하여 개체가 특정 메서드를 이해하는지 테스트합니다.

0

좋아, 우선 Mac 데스크탑이나 MacBook을 사용하여 컴파일해도 상관 없습니다. '최소 iOS'값과 '기본 SDK'를 혼동스럽게 생각하는 것 같습니다.

Base SDK : 컴파일러가 코드를 확인하는 데 사용할 코드 라이브러리를 나타내지 만 실제로 어떤 OS가 실제로 실행될지는 결정하지 않습니다. 5.0의 기본 SDK를 가질 수 있으며 3.0 시스템에서 앱이 계속 정상적으로 작동 할 수 있습니다. 잡기는 기존 SDK가 아닌 Base SDK와 호환되는 코드를 사용하는 경우 컴파일러가 catch하지 않는다는 것입니다.

최소 OS :이 값은 앱을 실행할 OS를 결정합니다.

상위 OS 용으로 코드를 사용하고 있지만 하위 OS에서 실행하려는 경우 실행중인 OS의 코드를 테스트 한 다음 해당 플랫폼에 적합한 코드를 실행해야합니다.

+0

맥 데스크톱 n 매킨토시에 대한 내 감각 맥 데스크톱에는 맥 코드 3.2.4가있다. 아이폰 OS 3.2 이상이고 맥북에는 아이폰 OS 3.0이있는 x- 코드의 다른 버전이있다. –