2009-07-08 13 views
0

私のアプリは3.0ベータ版が登場する前からSDK 2.2.1でビルドされています。iPhone SDK 2.2.1ベースのアプリをiPhone 3.0 OSデバイスで起動する必要があります

ユーザーは、3.0 FWバージョンの最後のiPhone 3Gsに私のアプリケーションをインストールしようとしています。私のアプリは最後のiPhoneとは異なる動作をしますか? 2.2.1 SDKでビルドされた私のアプリには、here (3.0 OS Release Notes)の項目が影響しますか?例えば

アップルのドキュメントを教える:
FIXED :barStyleがに変更された場合/ UIBarStyleBlackTranslucentからUINavigationControllerは、自動的にコンテンツビューのサイズを変更しません。

しかし、私のアプリは、このスタイルを使用して、私は前にiPhone 2.2.1 OSとコンテンツビューのリサイズを見た...私は2.2.1を選択したときに、それは技術的に何を


を意味しています私のプロジェクトとビルドのためのXCodeでアクティブな3.0 SDK? SDKは静的にリンクされたライブラリに対応していますか?

ありがとうございます。

答えて

1

XCodeでアクティブなSDKを選択すると、基本的にコンパイルするヘッダーが選択されます。ライブラリは動的にリンクされているため、3.0を実行しているデバイスで2.2.1に対してビルドされたアプリケーションを実行すると、3.0ライブラリの動作になります。

引用した特定の修正については、最初に影響を与えなかった特定の状況下でコンテンツのサイズ変更ができなかった可能性があります。しかし、あなたが試してみるまで、あなたのアプリが3.0の下でどのように動作するかを正確に知ることはできません。

1

XcodeでアクティブなSDKを選択すると、ビルドするアップルのライブラリとフレームワークのバージョンがコンパイラに伝えられます。 Appleが変更したコードを使用している場合や、2.2.1と3.0の間でバグ修正をマークした場合は、アプリで異なる動作が発生します。

たとえば、iPhone OS 2.2.1と3.0の間で、アップルはUITableViewCell initWithFrame:イニシャライザメソッドを廃止しました。 2.2.1では、この初期化子を使用してテーブルセルを作成したコードが正常に動作しました。これらはまだ3.0で動作しますが、Xcodeからの廃止予定に関する警告が表示されますので、Appleは廃止予定のフレームワークをいつでも削除する可能性があるため、コードを更新してください。

他の変更は、あなたが言及したように、より行動的です。バースタイルを変更したときにアプリケーションがコンテンツビューのサイズ変更に依存していて、サイズ変更が行われなくなった場合、アプリで予期しないことが発生する可能性があります。

あなたのアプリを3.0でビルドして完全にテストするのが最善の方法です。必要に応じてコンパイラの警告とコードの更新を行ってから、Appleが行った他の変更やコード内でこれらのビットを使用する場所を見てください。

サイドノート:私が理解しているように、Appleは3.0でテストされていないアプリケーションをApp Storeに受け入れていません。

+0

すぐにお返事ありがとうございます。ただ1つのコメント... 3.0のヘッダー(Active SDK)で私のアプリケーションをビルドする場合、私のアプリは2.2.1ユーザーのためにもはやインストールできません。正しい? ...だから私は慎重にアップルのドキュメントを習得しなければならないが、2.2.1と3.0の両方で使えるようにするために2.2.1を残しておかなければならない。 – MikZ

+0

修正 - 3向けのアプリです。0ヘッダーは2.2.1デバイスでは使用できません(そうであれば、使用するコードについては非常に注意する必要があります。2.2.1から3.0への展開よりもさらに注意が必要です)。 – Tim

関連する問題