11

最初はユニバーサル アプリとしてビルドされた XCode プロジェクトがあり、途中で 2 つのアプリを同じバイナリに含めることに気が変わったので、2 つのターゲットを作成しました。

  1. 最初のものは AppName と呼ばれ、iPhone 用です。ベース SDK は 4.2 で、展開ターゲットは 3.1.3 です。対象端末はiPhoneです。
  2. 2 つ目は AppNameHD と呼ばれ、iPad 用です。ベース SDK は 3.2 で、ターゲット デバイスは iPad です。

数週間が経ち、これらの各プラットフォーム用に簡単に構築でき、iPad と iPhone の両方にデプロイできるようになりました。

これでアプリ ストアに提出する準備が整いましたが、コードが拒否される可能性が心配です。今のところ iPad のみのアプリを提出したいのですが、iTunesConnect サイトのどこにもターゲット デバイスを指定できる場所がないことを調べました。また、プロジェクトが最初にユニバーサル アプリになるように構成されたためです。バイナリをテストするデバイスをどのように決定するのか疑問に思っています。

アーキテクチャに関する詳細情報: 両方のターゲットに対してデフォルトで生成された info.plist ファイルを使用しています。ターゲットごとに個別の info.plist を用意する必要がありますか? 2 つの .plist ファイル間にどのような違いがあるべきか。

ここに、実際に使用している info.plist ファイルが添付されています。

事前にご協力いただきありがとうございます。ここに画像の説明を入力

4

4 に答える 4

7

まず第一に、iPad 専用ターゲットのベース SDK を 3.2 にする理由はありません。実際、iOS 4.2 は iPad で実行されるため、ベース SDK を 4.2 に変更しないと、顧客ベースが制限されます。ターゲット OS を iOS 3.2 に設定して、アプリが iOS 3.2 で確実に実行されるようにすることができます。

ターゲット構成のビルド設定で、ターゲットが「ipad」、「iphone」、または(ユニバーサルアプリの場合)「iphone/ipad」であるかどうかを示す「ターゲットデバイスファミリ」を探します。

また、ユニバーサル アプリを 2 つの別々のターゲットに移行しましたが、面白くありませんでした。ビルド設定と .plist ファイルを慎重にチェックして、目的のターゲット デバイスに対して正常であることを確認する必要があります。特に、Base SDK、iOS 展開ターゲット、ターゲット デバイス ファミリ、および Info.plist ファイルを確認してください。

于 2011-02-09T17:51:04.587 に答える
4

ターゲットごとに個別の info.plist を用意する必要がありますか?

  • はい。

2 つの .plist ファイルにはどのような違いがありますか?

  • バンドル識別子 (例: com.example.appiPhone/iPod およびcom.example.app-hdiPad 用)
  • (オプション) アイコン (iPhone、iPhone @2x、および iPad では異なります)
  • (オプション) 起動イメージ (iPhone、iPhone @2x、および iPad では異なります)
  • (オプション) サポートされているインターフェイスの向き (私の経験では、iPad では少なくとも 2 つの向き)
于 2011-02-10T07:49:21.047 に答える
2

Apple は Info.plist を使用して、itunesconnect のターゲットを決定します。

スクリーンショットを見て、iPhone ターゲットで NSMainNibFile~ipad と UISupportedInterfaceOrientations~ipad を指定しないようにし、iPad ターゲットではその逆を指定しないようにする必要があると思います (つまり、iPhone 固有のエントリを含めないでください)。ところで、Xcode で Info.plist を開くと、キーのわかりやすい名前が表示され、許可された値のドロップダウンも表示されます。

また、UIRequiredDeviceCapabilities にも注意してください。つまり、原則として、絶対に必要な場合にのみ plist にキーを含めます。

于 2011-02-09T15:54:24.213 に答える