1

私は現在 iOS 用の cocos2d ゲームに取り組んでいます。現在、実行時にiPadまたはiPhoneが実行されており、座標などを調整しているかどうかを確認しています. このため。

しかし今は、iPad 用と iPod touch/iPhone 用の 2 つのバージョンが必要です。したがって、2 つのターゲットが必要ですが、同じコードベースを使用します。

現在、私はチェックしています

UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad

どのデバイスが使用されているかを判断します。しかし今、どのアプリ/ターゲットが使用されているかを確認したいと思います。誰かが iPad で iPhone バージョンを使用している場合に備えて、iPad 用に調整したくありません (iPhone バージョンはコストが低いため、iPad 用に調整する必要はありません)。

4

2 に答える 2

1

まったく同じコード ベースを使用しながら、異なるターゲットで動作を変更する良い方法は、プリプロセッサ定義を作成し、ターゲットの 1 つでそれを省略するか、各ターゲットで異なる設定を行うことです。次に、コードを別の方法でコンパイルして、この定義に基づいて動作を変更できます (たとえば、#ifdefディレクティブを使用する場合は条件付きコンパイルを使用します)。

于 2012-04-13T22:25:28.807 に答える
0

iPhone アプリ ターゲットの場合、ターゲット デバイス ファミリを iPhone のみに設定するとUI_USER_INTERFACE_IDIOM()、iPad の場合でも常に UIUserInterfaceIdiomPhone が返されます。

于 2012-04-13T22:16:52.160 に答える