Xcode 6をインストールしていますが、iOS8向けにしか開発できないことを認識しています。このベータ開発キットはiOS 8ベータリリースの開発を目的としていることは承知していますが、まだ開発する時間はありませんが、Xcodeの新機能のいくつかを活用したい立場にいます。現在のiOS 7アプリ用に開発しています。
IOS 7 SDKをxcode 6にインストールするために何ができますか?
Xcodeの以前のインストールから関連するSDKをXcode 6 Betaディレクトリにシンボリックリンクすると、Xcode 6はそれを使用できるようになります。マシンにまだXcode 5.1.1があると仮定して、ターミナルで次のことを試してください。
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
これにより、iOS 7 for iPhone(simではなく)がリンクされ、Xcode 6 BetaでiOS 7をBase SDKとして選択できるようになります。シミュレーターでこれを行うには、iPhoneOS.platform
with iPhoneSimulator.platform
。
注:iOS 7 SDKを使用しているからといって、ビルドされるわけではありません。 Xcode 6 BetaがApple LLVM 6.0コンパイラを使用しているという事実に個人的に問題があります。
誰かが役立つように投稿するだけです。iOS7.1、XCode 6.0.1を実行しているiPhoneでアプリをデバッグしたかったのです。以前のiOSバージョンは、基本SDK /展開ターゲットとして選択するために、設定ページにリストされていませんでした。 (OS X 10.10 Yosemiteを使用しています)。 XCode 6.0.1とXcode 5.0.1の両方をインストールしてコピーしました
/Application/XCode501.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk
に
/Application/XCode601.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
これで、XCode 6.0.1からiOS 7アプリを実行できるようになりました。
(Ziewvaterの答えに対する)クリスチャンのコメントを繰り返しているだけなので、より目立つようになっています。
奇妙なのは、Xcodeフォルダーにシンボリックリンクを追加した後、Xcodeの左上隅にあるターゲットセレクターに、正確な名前といくつかの情報(iOSビルド番号、モデル、デバイス識別子)を持つデバイスが2回表示されるという事実です。どちらのエントリを選択したかに応じて、どちらのBASE SDKを選択しても、アプリは正常に動作するかどうかにかかわらず動作します。 ??!誰も同じことを経験していますか?
これもまさに私の経験です!私と私のチームは、なぜ一部のビルドが機能しているように見え、他のビルドが機能していないのかを理解しようとして髪を引き裂いていました。
リストから間違ったデバイスを選択すると、AppleはベースSDK(またはターゲット...または何か)を無視する必要があります。
展開ターゲットをうまく変更し、iOS7 iPhone 4sにすべて同じようにインストールしました。この方法ですべての開発を行ってから、5.1.1を使用して関連ビルドを作成できます。たとえ可能であっても、このベータ環境で本番用のアプリを構築することはお勧めしません。
xcode 6.1.1(ウィンドウ->設定-ダウンロード)では、iOS 7.1シミュレーターをインストールできます。残念ながら、iOS 7.1 SKDはインストールされません。展開ターゲットを7.1に設定すると、問題なくすべてのビルドが作成されます。心配する!!!! 7.1との互換性を確認するかどうかはユーザー次第です(SDKはまだ8.1です)。だから、すべてのランタイムのトラブルはシミュレータで見られるべきです。私はこのアプローチを使用して、SwiftでiPhone 4用にビルドします。iOS7.1.2は最後に利用可能です。 (単に、新しいデバイスでのみ使用可能なクラスを使用しないでください:-))