Deployment Target と Base SDK の違い

 

Xcodeに「Deployment Target」と「Base SDK」と似たような設定がありますが、この2つの違いってわかります?

どちらもiOSのバージョンを指定するんですが。

 

ようするに、

・Deployment Target:

あなたが、なんかのアプリをつくって、App Storeで公開したとします。そのアプリをダウンロードして使う人のiPhoneのiOSのバージョンを指定する。

最新版を指定すれば、 新しい機能をすべて利用できますが、旧版を使っているユーザは実行できません。

逆に少し古い版を指定すれば、実行できるユーザは多くなりますが、最新の機能は利用できない。

・Base SDK:

あなたが、なんかのアプリをつくるとします。そのアプリをつくる時に、自分のiPhoneで動作確認しますが、その自分のiPhoneのiOSのバージョンより高いバージョンを指定する。

そうしないと、デバッグできない。なので、通常、もっとも新しいバージョンを指定する。

という違いがあります。

 

参考資料:

 

確認環境:Xcode 7.2

 

Deployment Target:

1. ナビゲーターエリアでプロジェクトを選択。

2. エディターエリアの上端でターゲットを選択し、「General」を選択。

3. 「Deployment Info」セクションの「Deployment Target」にiOSのバージョンを指定。


Tip_02_01_003a

 

Base SDK:

1. ナビゲーターエリアでプロジェクトを選択。

2. エディターエリアの上端でターゲットを選択し、「Build Settings」を選択。

3. エディターエリアの上端で「All」を選択。(「Basic」のままだと表示されない。)

4. 「Architectures」セクションの「Base SDK」にiOSのバージョンを指定。


Tip_02_01_003b

 

余談ですが、「Deployment Target」は「配備ターゲット」って翻訳されてました。

あと「SDK」は「Software Development Kit」の略で、ソフトウェア開発ツール一式のことです。

ざっくりいえば、Xcodeのことですよね。