2013-09-02 11 views
133

基本SDKを7に設定するとはどういう意味ですか?これは、アプリがiOS 7で動作することを意味する可能性がありますが、iOSデプロイメントターゲットの対象はこれです。基本SDK、iOSデプロイメントターゲット、ターゲット、およびプロジェクトの意味はxcode

また、これらの3つの値をプロジェクトとターゲットの両方で指定する理由についても説明します。それは意味をなさない。なぜ同じことを2回指定するのですか?

答えて

65

基本SDKは、アプリケーション(つまり、インクルードファイルやライブラリファイルやフレームワーク)をビルドするためのものです。あなたが言うように、基本sdk> =展開ターゲットを除いて、展開ターゲットには影響しません。

ビルド設定を2つのレベルに指定すると、プロジェクトごとに複数のターゲットが存在する可能性があり、すべてのターゲットに対して同じ設定を必要としない場合があります。プロジェクトレベルの設定はデフォルト設定を上書きし、ターゲットレベルの設定はプロジェクトレベルの設定を上書きします。

たとえば、OSXとiOSの両方のターゲットを持つプロジェクトがあり、一部はARCで、一部はMRRです。私は、Xcodeが許す細かいレベルでビルド設定を指定できなかった場合、それぞれ異なるプロジェクトを用意しなければなりません。

59

Base SDKはリンク先のSDKです。デプロイメントターゲットは、アプリケーションが実行する必要がある最小のiOSバージョンです。 iOS 6で動作するSDK 7を使用してアプリケーションを構築することはできますが、iOS 6で利用できない関数やメソッドは使用しないでください。そうすると、アプリケーションはすぐにiOS 6でクラッシュしますこの関数が使用されます。

は、詳細については、アップルのマニュアルを参照してください:iOS 7 TechTalk、セッション設計する現代のアプリ、パート2ではhttps://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html

166

を、彼らはこの明確

enter image description here

良いがHi! I'm #available!

を読ん説明

したがって、現代的なアプリケーションでは、iOS 9をターゲットSDKとして使用し、iOS 7をデプロイメントtアゼット。これはiOSの7、iOSの8とiOS 9上で実行することができ、実際にiOSの9

上で動作しているとき、あなたはどのiOSの9のコールをあなたに利用できる持っていることを私はちょうどSDK and Deployment Target

+19

良いし、それをまとめることを意味しますこの部分はこの50分のビデオで約25:17に埋葬されています。 – Daniel

+2

ニース!しかし、Base SDK = 7.0を設定し、iOS 8.0にインストールしようとするとどうなりますか?常に最新のBase SDKをサポートするために最後のXCodeをダウンロードする必要がありますか? – GoRoS

+1

@GoRoSベースのsdkが

関連する問題