2012-01-17 6 views
1

私はiOS開発にかなり新しく、iOS5 SDKとXcode 4.2を使って最初のアプリケーションを完成させました。問題は、私がアプリのUIを作成するためにStoryboard APIを使用したため、私のアプリにユーザーがiOS5にアップグレードする必要があるということです。ストーリーボードはiOS5でのみ利用可能です。iOS5アプリケーションをiOS4と下位互換性を持たせるにはどうすればよいですか?

私の質問は、アプリケーションを少なくともiOS4と下位互換性を持たせるにはどうすればよいですか? nibファイルを使用してUIを作成するだけで簡単ですか?誰かが私にこのことについてどうやって行くのかの例の指針を与えることができますか?

また、私のアプリが後方互換性がないことに気づく必要がある他の同様の落とし穴がありますか?

+1

4.0 Xcodeの下でプロジェクトを開き、コンパイルして見てください..違いを示しています.. – vishy

+2

新しいアプリケーションのために努力する価値があると考えてください。アプリ購入ユーザベース(一般ユーザベースではない)のどれがiOS4に残っているのでしょうか?あなたがストーリーボードを使ったことがあるなら、あなたは大きな書き直しを見ています。 – jrturton

答えて

4

に動作しないことを意味し、iOSの4で動作しません。互換性があります:

  1. 弱くリンクしています。たとえば、Twitter.frameworkはiOS> 5.0でのみ利用可能ですので、XcodeのLink Binary with Librariesセクションにフレームワークをoptionalとマークしてください。

    • が持つクラスである:通常の

      #import <Twitter.Twitter.h> 
      
    • 代わりのあなたではなく、このように確認する必要があります「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:)]; 
      } 
      

これは、Twitterのフレームワークと正常に動作します、しかし、絵コンテは点が異なっているが、それはあなたが上を確認することができ、オプションのフレームワークのようではないとして尊重しますランタイム。ストーリーボードを使用するには、少なくともiOSバージョン5.0以上が必要です。

0

UIStoryboardSegueはiOS 5のみです。アプリケーションはiOS 4で動作しません。コンパイル時の機能ではないため、NIBを使用する必要があります。 iOSの5でのみ利用可能ですあなたが使用

任意の方法は、このようにあなたが逆方向になりたい場合はストーリーボードを扱う任意の方法が一般のiOS 4

関連する問題