🍁
Swiftの挙動を確認したい時にCLTプロジェクトを使う
Swiftの挙動を簡単にチェックする方法としてPlaygroundがありますが、簡単なコードしか書いていないのに時々実行が遅かったりうまく動かなかったりする印象がありました。(数年前から使うのをやめているので最近のことは知りません)
そこで、私はmacOS向けのCommand Line Toolプロジェクトを使って普段からSwiftの挙動確認をしています。出来上がるものは普通のプロジェクトなので、Deployment TargetやSandBox、Entitlementsの動作確認もできますし、Swift Packageを試しに導入して使い勝手を確認することもできます。テキストファイルや画像リソースなどを読み込んで扱うこともできるので普通に万能です。
ただ、単純にプロジェクトを作るだけだとSwift Concurrencyのコードをさっと書いて確認することができないので一手間加えてあります。
-
macOS向けのCommand Line Toolプロジェクトを作成
-
main.swift
ファイルを捨てて別名のファイルを用意しConcurrency対応できるようにする
Sample.swiftimport Foundation @main struct Sample { static func main() async throws { // Concurrencyのコードが使えるしちゃんと待機する try await Task.sleep(for: .seconds(3)) Swift.print("Hello, World!") } }
@main
をつけたstructの中にmain
という名前のstatic
な関数があれば、プロジェクトの実行時に自動的にその関数を実行してくれます。 -
なんでも検証したいならSandBoxを無効にする
Entitlementsファイルを追加して、SandBoxをNOにします。
Discussion