2012-04-24 4 views
0

iOS5でのみ動作するXCode 4.2アプリケーションを使用して、初めてiOSアプリケーションを作成しました。iOS5アプリをiOS4.2に対応できるように変換する

iOS4でも同様に動作させる必要があります。

私はMainstoryBoardを持っています。私はそれを取り除き、代わりにnibファイルを使用する準備ができています。

質問がありましたら、メインストーリーボードを削除したら、最初のクラスに行くために何ができるのですか? iOS4.2と互換性を持たせるためにどのような設定を行う必要がありますか?

おかげ

+0

ターゲットを4に変更します。2、それは動作するはずです – Novarg

答えて

0

user1051935、

絵コンテだけで5.0以上、4.xxxでサポートされていません。起動時に最初のView Controllerをロードするには、最初のView Controllerのnibファイルをウィンドウにロードするためにappdelegateファイルを変更する必要があります。これは、segueとnibsが4.xxxで処理される方法がios5のストーリーボードメソッドとは少し異なるため、設定を調整するだけではありません。ビュー間にセグをプログラムで作成する必要があります。私はios 4プログラミングに関する良い本を手に入れようと思っています。利用可能なものがたくさんありますが、5.0がリリースされたので、かなり割引があります。これは、個々にペン先で作業し、デリゲートとプロトコルを作成し、ビュー間を分割することによって段階的に進みます。私は自分でストーリーボードを使い始め、ios4-wayプレストーリーボードに逆戻りしました。おそらく最も賢明で最も簡単なルートではありませんでしたが、可能です。コードのビューで作業するようになりましたので、私は実際には非常に好きで、非常に複雑なアプリケーション(構造的に)で作業していない限り、ストーリーボードにはあまり効果がありません。あなたはまだ4.xxxのiosベースでARCを使うことができます。これは祝福です!

+0

こんにちは 私はnibファイル間を移動するために次の方法を使用します: クラス* c = [[クラスの割り当て] initWithNibName:なしバンドル:なし]; [self presentModalViewController:c animated:YES]; 私は「didFinishLunchingWithOptions」機能でこれを入れているが、私は言って構文エラーを取得する「『MyProgramAppDelegate』の目に見える@interfaceは、セレクタ 『presentModalViewController:アニメーション:』宣言していない」 が、これはそれを実現するための正しい方法ですが?他の提案がありますか? ありがとう – user1051935

+1

ビューコントローラだけが他のビューコントローラを表示できます。あなたは '[[self window] setRootViewController:c];を望むでしょう。' [[self window] makeKeyAndVisible]; 'でこれを実行する必要があります。私はストーリーボードなしで新しい空のプロジェクトを作成することをお勧めします。ストーリーボードを突き抜けて、どのように初期化するのかを確認するだけです。 – Dondragmer

0

@MySpecialPurposeによる回答は、iOS 4.2のサポートに必要な第一歩です。しかし、あなたのアプリが第2世代と第3世代のiPhoneとiPodタッチで動作するように、あなたはそのバージョンをサポートしていると思いますか?その場合は、これらのデバイス上のarmv6プロセッサをコンパイルして機能を更新する必要があります。あなたのビルド設定

アーキテクチャを見つけて、このように、 ARMv6のを追加します。あなたの既存の値がのARMv7 である、またはそれは$(ARCHS_STANDARD_32_BITであるとことがあります。それらのどちらが存在し、それを残す。

XCode build settings for architectures

また、あなたののInfo.plistに行きます。あなたは必要なデバイスの機能という配列を見つけることができます。それは、文字列のARMv7は、その項目を削除含まれている場合。

XCode Info.plist settings for Required device capabilities

XCode 4.3.2では、これらの変更が必要です。 XCodeとiOS SDKの将来のバージョンでは、古いデバイスで動作するようにロールバックする必要があるその他のデフォルトプロジェクト設定が追加されることがあります。

関連する問題