1. ホーム
  2. objective-c

[解決済み] xcodeのBase SDK、iOSデプロイメントターゲット、ターゲット、プロジェクトの意味するもの

2022-04-22 21:19:58

質問

ベースSDKを7に設定した場合、どのような意味があるのでしょうか?それは、アプリがiOS 7上で動作することを意味する可能性があります。しかし、それはiOSデプロイメントターゲットのためのものです。

また、なぜプロジェクトとターゲットの両方でこの3つの値を指定するのでしょうか。それは意味がありません。なぜ同じものを2回指定するのでしょうか?

解決方法は?

ベースSDKは、アプリをビルドする際の基準となるものです(つまり、インクルードファイルやライブラリファイル、フレームワークなど)。 おっしゃるとおり、base sdk >=デプロイメントターゲット以外は、デプロイメントターゲットに影響を与えません。

各プロジェクトは複数のターゲットを持つことができ、すべてのターゲットに同じ設定をしたくない場合があるため、2つのレベルでビルド設定を指定します。 プロジェクトレベルの設定はデフォルトの設定をオーバーライドし、ターゲットレベルの設定はプロジェクトレベルの設定をオーバーライドします。

例えば、私はOSXとiOSの両方をターゲットにしたプロジェクトを持っていて、いくつかはARCで、いくつかはMRRになっています。 もしXcodeが許すレベルの粒度でビルド設定を指定できないのであれば、それぞれ別のプロジェクトにしなければならないでしょう。