2012-01-17 9 views
1

저는 iOS 개발에 상당히 익숙하며 iOS5 SDK와 Xcode 4.2를 사용하여 첫 번째 앱을 완성했습니다. 문제는 이제 Storyboard API를 사용하여 앱 UI를 만들기 때문에 내 앱에서 사용자가 iOS5로 업그레이드해야한다는 것입니다. 스토리 보드는 iOS5에서만 사용할 수 있습니다.iOS5 앱을 iOS4와 역 호환되게하려면 어떻게해야합니까?

제 질문은, 내 앱이 적어도 iOS4 이상과 호환되도록하려면 어떻게해야합니까? nib 파일을 사용하여 UI를 만드는 것만 큼 간단합니까? 누군가 나에게 이것에 대해 어떻게 가야하는지에 대한 예를 들어 줄 수 있습니까?

또한 내 응용 프로그램을 이전 버전과 호환되지 않게 만들 수 있다는 것을 알고 있어야하는 다른 유사한 함정이 있습니까?

+1

4.0 Xcode 아래에서 프로젝트를 열고 컴파일하고 볼 수 있습니다 .. 차이점을 보여줍니다 .. – vishy

+2

새 앱을 만들려고 노력하는 분을 생각해보십시오. 앱 구매 사용자 기반 (일반 사용자가 아님)이 iOS4에 남아 있거나 계속 남아있을 것인가? 스토리 보드를 사용했다면 주요 재 작성을 볼 것입니다. – jrturton

답변

4

일반적으로 아이폰 OS에서 작동하지 않습니다 즉, 아이폰 OS 4에서 작동하지 않습니다에서 iOS 5에서만 사용할 수 있습니다 당신이 사용하는 모든 방법 호환 가능 :

  1. 약하게 링크 프레임 워크. 예를 들어 Twitter.framework은 iOS> 5.0에서만 사용할 수 있으므로 Xcode의 Link Binary with Libraries 섹션에 프레임 워크를 optional으로 표시하십시오. 보통

    대신 체크
    #import <Twitter.Twitter.h> 
    
  2. 가져 오기 프레임 워크의 헤더 "5.0 OS 버전 크다"당신은 오히려 다음과 같이 확인해야합니다 :

    • 가 가진 클래스 특정 이름 사용 가능 :

      Class TWTweetClass = NSClassFromString(@"TWTweetComposeViewController"); 
      
      if (TWTweetClass){ 
          // Use the new stuff 
          TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init]; 
          // etc. 
      } else { 
          // Handle the case when the class is not available 
      } 
      
    • 선택기로 지정된 객체 응답 :

      if([someObject doesRespondToSelector:@selector(someNewlyAvailableSelector:)]){ 
          [someObject performSelector:@selector(someNewSelector:)]; 
      } 
      

이 트위터 프레임 워크와 잘 작동하지만, 스토리 보드는 점에서 다릅니다은 당신이에 확인 할 수있는 옵션 프레임 워크를 같이하지 않는 한 존중 실행 시간. 스토리 보드를 사용하려면 사용자가 적어도 iOS 버전 5.0 이상을 가져야합니다.

0

UIStoryboardSegue는 iOS 5에서만 실행됩니다. 컴파일 시간 기능이 아니기 때문에 NIB를 사용해야합니다.

따라서 당신이 뒤로 수 있도록하려면 스토리 보드를 다루는 어떤 방법 4.

관련 문제