1

iPhone OS 2.0 用に開発されたプロジェクトがあります。このプロジェクトを 2 つのターゲット (iPhone と iPad) を持つように変換しています。これはユニバーサル バイナリではありません。2 つの異なるバイナリが含まれます。

古いプロジェクトで、フレームワークを右クリックして REVEAL IN FINDER を選択すると、フレームワークが 2.0 であることがわかります。たとえば、UIKit はパスにリンクされています。

/開発者/プラットフォーム/iPhoneOS.platform/開発者/SDKs/iPhoneOS2.0.sdk/...

3.2の同じフレームワークがオンになっています

/開発者/プラットフォーム/iPhoneOS.platform/開発者/SDKs/iPhoneOS3.2.sdk/...

したがって、それらは異なるファイルであり、異なるパスにあります。

どのように進めればよいですか?これは問題だと思います。各ターゲットを異なるバージョンのフレームワークにリンクする必要があると思いますが、どうすればよいですか?

助けてくれてありがとう。

4

1 に答える 1

1

この/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/ファイルは単なる sysroot です。実際にリンクされたファイルはまだ/System/Library/Frameworks/UIKit.framework/UIKit.

SDK バージョンは、デバイスが実行する必要がある最小要件も指定します。パブリック SDK のみを使用している限り、変更なしで 3.2 用に再コンパイルしても問題はありません (多くの「非推奨」メッセージを除く)。ただし、3.2 用にコンパイルすると、3.2 未満のデバイスではアプリを使用できません。

大きな変更がない場合は、iPhone 版をそのまま使用することをお勧めします。次に、iPad 用のプロジェクトを複製し、UI 要素を 1024x768 に合わせる方法、新しい機能を利用する必要があるかどうかなどを検討します。

于 2010-02-27T18:57:58.903 に答える