2011-11-03 5 views
0

xcode 4.2에서 기본 sdk 5.0을 사용하여 프로젝트를 만들었습니다. 프로젝트를 만드는 동안 iOS 5.0에서 새 프로젝트를 만들 때 표시되는 3 가지 옵션을 모두 확인하지 않았습니다. 스토리 보드, ARC를 사용하고 단위 테스트를 포함하십시오. 내 코드를 작성한 후에 xcode 3.2.5/iOS 4.2에서 실행하려고하지만 iOS 5가 NSAutoreleasePool 대신 @autoreleasepool을 사용하기 때문에 오류가 발생합니다. iOS4.2에서 어떻게 실행합니까?iOS5/xcode 4.2에서 iOS 시뮬레이터 4.2/xcode3.2.5에서 프로젝트 빌드 실행하기

답변

4

오래된 main.m을 사용하는 것은 어떻습니까?

#import <UIKit/UIKit.h> 

int main(int argc, char *argv[]) 
{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    int retVal = UIApplicationMain(argc, argv, nil, nil); 
    [pool release]; 
    return retVal; 
} 

또 한 가지. "스토리 보드"와 "ARC"는 iOS 5에서만 지원됩니다. iOS4에서이 기능을 사용하려면 문제가 될 수 있습니다.

요약 : 만약 당신이 지원하고자하는 가장 낮은 버전으로 프로그램을 작성한다면 괜찮을 것입니다. 오래된 main.m을 사용하십시오. 스토리 보드 나 ARC 대신 강력하게 유지하고 iOS> = 4에서 작동합니다.

+0

@autoreleasepool을 사용하는 NSAutoreleasePool 대신 NSAutoreleasePool이 포함 된 이전 main.m을 사용합니다. 그러나 또 다른 문제는 속성 선언에서 강력하고 약한 키워드와 관련이 있습니다. sdk 5.0에서만 사용할 수 있습니다. 그래서, 나는 또한 그들을 바꿔야 할 것이다. 스토리 보드와 ARC에 대한 우려로 sdk 5.0에서는 사용하지 않습니다. 그래서 그들은 4.0이나 4.2에 어떤 문제도 일으키지 않았습니다. – anshul

+0

강한 대신에 보유 사용 - 나는 그것에 아무런 문제가 없습니다. 어쨌든 지금은 뭐가 문제 야? 뭐가 잘못 됐는지, 어떻게 해결해야하는지 알지. – Sharky

+0

이 문제는 이전 버전과의 호환성과 관련이 있습니다. 이 두 가지 일만하면 iOS4 또는 4.2에서 iOS5를 사용하여 작성된 코드를 배포 할 수 있습니까? – anshul