ベース SDK を 7 に設定したとしますが、これはどういう意味ですか? それは、アプリが iOS 7 で実行されることを意味する可能性があります。しかし、それが iOS 展開ターゲットの目的です。
また、プロジェクトとターゲットの両方でこれら 3 つの値を指定するのはなぜですか。意味がありません。同じものを 2 回指定するのはなぜですか?
ベース SDK を 7 に設定したとしますが、これはどういう意味ですか? それは、アプリが iOS 7 で実行されることを意味する可能性があります。しかし、それが iOS 展開ターゲットの目的です。
また、プロジェクトとターゲットの両方でこれら 3 つの値を指定するのはなぜですか。意味がありません。同じものを 2 回指定するのはなぜですか?
iOS 7 TechTalkのセッション Architecting Modern Apps, Part 2 で、彼らはこれを明確に説明しています。
よく読んだこんにちは!私は#利用可能です!
そのため、最新のアプリでは、iOS 9 をターゲット SDK として使用し、iOS 7 をデプロイ ターゲットとして使用する場合があります。これは、iOS 7、iOS 8、および iOS 9 で実行できること、および実際に iOS 9 で実行しているときに iOS 9 呼び出しを利用できることを意味します。
詳細については、私の投稿SDK とデプロイ ターゲットをご覧ください。
基本 SDK は、アプリをビルドする対象です (つまり、インクルードおよびライブラリ ファイルとフレームワーク)。おっしゃるとおり、base sdk >= デプロイ ターゲット以外は、デプロイ ターゲットには影響しません。
各プロジェクトは複数のターゲットを持つことができ、すべてのターゲットに同じ設定が必要ない場合があるため、2 つのレベルでビルド設定を指定します。プロジェクト レベルの設定は既定の設定をオーバーライドし、ターゲット レベルの設定はプロジェクト レベルの設定をオーバーライドします。
たとえば、OSX と iOS の両方をターゲットとするプロジェクトがあり、一部は ARC で、一部は MRR です。Xcode で許可されているレベルの粒度でビルド設定を指定できなかった場合は、プロジェクトごとに異なるプロジェクトを作成する必要がありました。