web-dev-qa-db-ja.com

Xcode 9:iOS 10 SDKのインストール方法

現在、Xcode 9はベータ版であり、今日の主な関心はiOS 11の知識を得ることであるという事実を考えると、疑問は明らかに奇妙です...

Xcode 9ベータ版で作業中にiOS 10をベースSDKとしてターゲットにする方法はありますか? Xc8の以前のOSの場合と同じ方法でXcode 9のSDKをパッケージ化するには、Appleが必要ですか?

なぜこれが必要なのでしょうか?

a)最初に頭に浮かぶのは、iOS 10から11への変更を必要とするが現在iOS 10で実行する必要があるコードを含むプロジェクトで、Xcode 9の素敵な新しいリファクタリングツールを使用することです。

b)実験のため。

11
aaberga

this および this を使用すると、Xcode 9ベータ4を使用してSDK10.3に対してコンパイルできました。[〜#〜 ]多くの[〜#〜]警告。

警告1:Xcode GUIは、複数のiPhone SDKを同時に検出できないようです。そのため、ベースSDKとして10.3と11.0を切り替えることはできません。

警告2:Xcode 9に付属のSwiftコンパイラーは、11.0未満のiPhone Simulator SDKのターゲット設定をサポートしていません。しようとするとこのエラーが発生します:

エラー:SwiftはSDK 'iPhoneSimulator10.3.sdk'をサポートしていません

警告3:これらすべてを行っても、iOS 11がリリースされる前にアプリをリリースする意図でアプリを送信することはできません起動しました。古いベースSDKを使用する唯一の利点は、iOSプラットフォームの特定の特別な状況を利用することです。注目すべき例の1つは バックグラウンドVoIPソケット であり、iOSの歴史全体に散在しているような他のいくつかの例があります。

レガシーVoIPアーキテクチャは、iOS 8の新しいPushKitベースのアーキテクチャに置き換えられました。その後、iOS 9 SDKで正式に廃止されました。 iOS 10では、互換性の手段としてのみ使用できます。アプリが古いSDKにリンクされている場合は引き続き機能しますが、iOS 10 SDKにリンクしている場合は無効になります。

警告4:これは、純粋に客観的なCプロジェクトでのみ実行できます。 10.3 SDKとXcode 9に付属のSwiftコンパイラーのバージョンとの間には、いくらかの非互換性があるようです。具体的には、このエラー:

enter image description here

まだ興味があるなら

...方法は次のとおりです。

ステップ1

Xcode 9の11.0 SDKをXcode 8.3.3の10.3 SDKに置き換えて、次のファイルを置き換えます。

Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs

ここからのファイルで:

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

ステップ2

このファイルのMinimumSDKVersion値を11.0から10.3に変更します。

Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist

11
allenh

Xcode 9ベータ4では、以前のすべてのシミュレータをダウンロードして使用できます。回避策はもう必要ありません。画像に表示されている[シミュレータのダウンロード]メニュー項目(最後の項目)をクリックしてシミュレータをダウンロードするだけです。

スクリーンショット:リスト内のXCode 9ベータミックスシミュレータバージョン

1
Andras M.