2011-04-13 4 views
2

HII마다 하나 개문제 동안 xcode4에서 xcode4

내가 만든 하나의 샘플 프로젝트 (안녕하세요)를 사용하여 작성된하지만 난 도 (3.1.3 IOS) 아이폰에 설치할 수없는 생각되는 01 : 37.868 prjTest 제가 배포 대상 3.1.3 선택하지만 2011-04-13 13하면서 설치

나 콘솔 따라와 얻고 (코드 서명은 모든 적절한이다) [244 : 207] 을 * - [UIWindow setRootViewController :] : 인식 할 수없는 선택자를 인스턴스 0x119cd0에 보냄 2011-04-13 13 : 01 : 37.885 prjTest [244 : 207] 알 수없는 예외 'NSInvalidArgumentException', 이유 : ' ** - [UIWindow setRootViewController :] : 인스턴스 0x119cd0에 전송 된 인식 할 수없는 선택기' 2011-04-13 13 : 01 : 37.902 prjTest [244 : 207] Stack : 843,263,261, 825,818,644 , 843,267,069, 842,763,033 , 842,725,440, 9,545, 843,742,792, 843,741,800 , 844,074,496, 844,072,508 , 844,071,060, 860,907,492 , 843,011,371, 843,009,055 , 843,738,120, 843,731,504 ,,745,9401,) 은 내가 믿는 'NSException'

+0

나는이 문제를 가지고 나는 내 코드 어디 setRootViewController가 없습니다. 대신 addSubView를 사용합니다. 그러나 SDK 4.3 및 배포 대상 3.1.3에서이 오류가 계속 발생합니다. – Hedin

답변

6

의 인스턴스를 던지는 후 호출 종료 - [UIWindow setRootViewController는 :] 버전 4.0에서 추가되었다 그래서 당신은 3.1.3에서 그것을 사용할 수 없습니다. 대신 당신은 addSubView를 사용할 수 있습니다

self.window.rootViewController = self.mainViewController; 

[self.window addSubview:self.mainViewController.view]; 

와 장치의 시스템 버전을 확인하는 몇 가지 방법이 있습니다

+0

나중에 잘, 경의를 표한 덕분에, 내가 한 번 더 의심,이 수정 된 코드 (addSubView에 의해 setRootViewController 교체 후) ios4 및 heigher 버전 장치에서 실행됩니까? – Kiran

7

은 당신이하고 싶은 대체합니다. 필자는 다른 곳에서는 Apple이 최신 버전과 최고급 버전에 초점을 맞추기 때문에이 작업을 특히 쉽게 수행 할 수 없다는 점을 읽었으므로 많은 개발자가 자체 솔루션을 고안했지만 정식 방법은 없습니다. 내가 건너 한보다 간결의

하나는 :

if([[[UIDevice currentDevice] systemVersion] compare:@"4.0" options:NSNumericSearch] == NSOrderedAscending) 
    [self.window addSubview:self.mainViewController.view]; 
else 
    self.window.rootViewController = self.mainViewController; 
관련 문제