Xcode内に新しいSwiftプロジェクトを作成しました。使用しているSwiftのバージョンを知りたいのですが。
Xcodeまたはターミナルで、プロジェクト内で使用しているSwiftのバージョンを確認するにはどうすればよいですか?
Xcode内に新しいSwiftプロジェクトを作成しました。使用しているSwiftのバージョンを知りたいのですが。
Xcodeまたはターミナルで、プロジェクト内で使用しているSwiftのバージョンを確認するにはどうすればよいですか?
回答:
プロジェクトのビルド設定には、Swift言語バージョンに関する情報をキーと値の形式で格納するブロック 'Swift Compiler-Languages'があります。Xcodeのすべての利用可能な(サポートされている)Swift言語バージョンとアクティブなバージョンもチェックマークで表示されます。
プロジェクト►(プロジェクトターゲットの選択)►ビルド設定►(検索バーに「swift_version」と入力)Swiftコンパイラ言語►Swift言語バージョン►言語リストをクリックして開きます(リストのいずれかにチェックマークが表示されます) -item、それは現在の迅速なバージョンになります)。
簡単に理解できるように、このスナップショットを見てください。
次のコードの助けを借りて、プログラムで、プロジェクトでサポートされているSwiftバージョンを見つけることができます。
#if swift(>=5.2)
print("Hello, Swift 5.2")
#elseif swift(>=5.1)
print("Hello, Swift 5.1")
#elseif swift(>=5.0)
print("Hello, Swift 5.0")
#elseif swift(>=4.2)
print("Hello, Swift 4.2")
#elseif swift(>=4.1)
print("Hello, Swift 4.1")
#elseif swift(>=4.0)
print("Hello, Swift 4.0")
#elseif swift(>=3.2)
print("Hello, Swift 3.2")
#elseif swift(>=3.0)
print("Hello, Swift 3.0")
#elseif swift(>=2.2)
print("Hello, Swift 2.2")
#elseif swift(>=2.1)
print("Hello, Swift 2.1")
#elseif swift(>=2.0)
print("Hello, Swift 2.0")
#elseif swift(>=1.2)
print("Hello, Swift 1.2")
#elseif swift(>=1.1)
print("Hello, Swift 1.1")
#elseif swift(>=1.0)
print("Hello, Swift 1.0")
#endif
これはPlaygroundを使用した結果です(Xcode 11.xを使用)
私がしていることはターミナルで言う:
$ xcrun swift -version
Xcode 6.3.2の出力は次のとおりです。
Apple Swift version 1.2 (swiftlang-602.0.53.1 clang-602.0.53)
もちろん、これはxcrun
Xcodeのコピーを正しく指し示していることを前提としています。私のように、Xcodeの複数のバージョンをジャグリングしている場合、それは心配になる可能性があります。それが正しいことを確認するには、
$ xcrun --find swift
表示されているXcodeへのパスを確認します。例えば:
/Applications/Xcode.app/...
それがXcodeの場合、出力-version
は正確です。再ポイントする必要がある場合はxcrun
、Xcodeの「場所」設定パネルの「コマンドラインツール」ポップアップメニューを使用してください。
xcode-select -p
xcrunが使用するのXcodeへのパスを印刷して、sudo xcode-select -s /path/to/Xcode.app
それを変更します。
Xcode 8.3以降にBuild Settings
はSwift Language Version
、ターゲットが使用している迅速なバージョンの値を持つキーがあります。
古いXcodeの場合、このソリューションを使用し、ターミナルを開いて次のコマンドを入力します
ケース1:Xcodeアプリを1つだけインストールした
swift -version
ケース2:複数のXcodeアプリをインストールした
スイッチactive developer directory
(Xcode_7.3.app
次のコマンドを、Swiftのバージョンを確認するアプリケーションディレクトリのXcodeアプリファイル名に置き換えます)
sudo xcode-select --switch /Applications/Xcode_7.3.app/Contents/Developer
その後
swift -version
注: Xcode 8からXcode 8.2.xまでは、Xcode 8がデフォルトのswiftバージョンとしてswift 3.xを使用している場合でも、swift 2.3を使用できます。Swift 2.3を使用Use Legacy Swift Language Version
するにYES
はBuild Setting
、フラグをfrom に設定するだけで、XCodeはそのプロジェクトターゲットにSwift 2.3を使用します。
Xcodeが使用しているSwiftバージョンを確認して選択できます。
ターゲット -> ビルド設定 -> Swift言語バージョン:
これはXcode 8.3とXcode 9で利用できます(古いバージョンはチェックしていません)。
Swift Language Version
Xcode 8.2.1プロジェクトの設定として表示されません。それは持っていますUse Legacy Swift Language Version
。
Swift Language Version
ここに存在しませんでしたBuild Settings
...以前のXcode 8.xバージョンではUse Legacy Swift Language Version
、No
= Swift 3およびYes
= Swift 2.3
このredditの投稿は私を助けました:https : //www.reddit.com/r/swift/comments/4o8atc/xcode_8_which_swift/d4anpet
Xcode 8はデフォルトでSwift 3.0を使用します。ただし、Swift 2.3をオンにすることはできます。プロジェクトのビルド設定に移動し、「Use Legacy Swift Language Version」をYESに設定します。
古き良きreddit :)
マシンにインストールされているswiftのデフォルトバージョンを確認するには、コマンドラインから次のように入力します。
swift --version
Apple Swiftバージョン4.1.2(swiftlang-902.0.54 clang-902.0.39.2)
ターゲット:x86_64-apple-darwin17.6.0
これは、(変更していない限り)インストールしたXcodeのアプリストアバージョンに含まれているバージョンである可能性があります。
Xcodeの特定のバージョン(ベータ版など)で使用されているSwiftの実際のバージョンを確認する場合は、コマンドラインからXcodeバンドル内のswiftバイナリを呼び出し、パラメーター--versionを渡します
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift --version
Apple Swiftバージョン4.2(swiftlang-1000.0.16.7 clang-1000.10.25.3)
ターゲット:x86_64-apple-darwin17.6.0
/usr/bin/swiftc --version
ボーナスへの貢献:私はカスタムnode.jsスクリプトを使用して、Jazzyのドキュメントで使用するクリーンな文字列を抽出しています。あなたの開発プロセスにそれを働かせる場所を見つけることができるなら、あなたはこれのいくつかの使用を得るかもしれません:
Bashスクリプトから呼び出されます:
#!/bin/bash
swiftversion=$(node SwiftVerSlicer.js "${xcrun swift -version}");
echo $swiftversion
SwiftVerSlicer.js:
// begin script
const inputString = `${process.argv[2]}`
let searchTerm = (inputString.indexOf('(') - 1)//-1 cause whitespace
let version = inputString.slice(0,searchTerm)
console.log(version)
// end script
もちろん正規表現を使うこともできますが、好きなことをしてください:]