web-dev-qa-db-ja.com

Xcodeを古いSDKにポイントして、「ベースSDK」として使用できるようにする方法は?

私の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に向けるにはどうすればよいですか?

33

古い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
84
Rob Napier

間違ったアプローチ。 SDKでXcodeを「ポイント」しないでください。代わりに、Xcodeインストール用の適切な「SDK」フォルダーにSDKをコピーする方が幸運です。最新のXcodeインストールでは、これは通常次のとおりです。

Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/

そこにSDKをコピーし、Xcodeを終了して再起動し、見つけたものを確認します。

(ここで他の答えを読むと、元のSDKを他の場所に保持することに没頭している場合、シンボリックリンクがオプションになる可能性があると思います)

20
danielpunkass

古いバージョンのXcode.App/Developer/platformsを参照し、iOS 6.1 SDKをXCode 5の同じフォルダーにコピーすることで解決しました。

0
Guesto

SDKを単にシンボリックリンクしないのはなぜですか? 「ln -s」?それでもうまくいかない場合は、plistのハッキングが必要になります。

0
Byron