私のMacのセットアップ:
ボリュームA:
OS X 10.8
Xcode 4.5以降-10.6 SDK IS NOT Base SDKとして利用可能
ボリュームB:
OS X 10.7
Xcode 4.3.3-10.6 SDK [〜#〜] is [〜#〜] Base SDKとして利用可能
ボリュームC:
OS X 10.6
Xcode 4.2-10.6 SDK [〜#〜] is [〜#〜] Base SDKとして利用可能
ボリュームAに、Xcode 4.5をインストールしました。これには、ビルドターゲットのビルド設定で使用可能な「ベースSDK」として10.6 SDKが含まれていません。
このハードドライブには個別の10.6ボリュームと10.7ボリュームがあります。どちらにもXcodeがインストールされており、どちらもXcodeビルドターゲットのビルド設定でベースSDKとして10.6 SDKを選択できます。
ボリュームCに10.6 SDKがインストールされていることを知っています(/Developer/SDKs
古いXcodeインストールから)。
ボリュームCにある10.6 SDKをボリュームAのXcodeに向けるにはどうすればよいですか?
古いSDKにシンボリックリンクを追加する必要があります(これは一般にコピーするよりも簡単です)。
cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
ln -s /path/to/old/SDK .
これは10.5に戻ります。それを超えて、もう少し複雑になります...
Xcodeの将来のバージョンではこれがサポートされるという約束はありませんが、Xcodeチームとチャットについて話しましたが、すぐに変更することに熱心ではないようです。
個人的には、/ path/to/old/SDKを/ SDKと呼ばれる最上位ディレクトリに保存することがよくあります。そうすれば、アップグレードするたびにすべてを簡単に修正できます。
編集:私はXcodeがアップグレードするたびにこの修正を再適用することを簡単にする fix-xcode スクリプトを持っています。
更新:Xcodeの最新バージョン(7.3以降)で古いSDKを使用するには、次のMinimumSDKVersion
を編集します。
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist
間違ったアプローチ。 SDKでXcodeを「ポイント」しないでください。代わりに、Xcodeインストール用の適切な「SDK」フォルダーにSDKをコピーする方が幸運です。最新のXcodeインストールでは、これは通常次のとおりです。
Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
そこにSDKをコピーし、Xcodeを終了して再起動し、見つけたものを確認します。
(ここで他の答えを読むと、元のSDKを他の場所に保持することに没頭している場合、シンボリックリンクがオプションになる可能性があると思います)
古いバージョンのXcode.App/Developer/platformsを参照し、iOS 6.1 SDKをXCode 5の同じフォルダーにコピーすることで解決しました。
SDKを単にシンボリックリンクしないのはなぜですか? 「ln -s」?それでもうまくいかない場合は、plistのハッキングが必要になります。