はじめに
iOS などの Apple プラットフォーム向けのアプリ開発経験がある場合、Tuist にコードを追加することもそれほど違いはないでしょう。 アプリ開発と比べて、触れておくべき違いが2点あります。
CLIとのやり取りはターミナルを通じて行われます。 ユーザーはTuistを実行し、指定したタスクを実行した後、正常に終了するか、またはステータスコードを返します。 実行中は、標準出力や標準エラーに情報を出力することで、ユーザーに通知を行うことができます。 ジェスチャーやグラフィカルな操作はなく、あるのはユーザーの意図だけです。
プロセスを保持して入力待ちをするランループはありません。 これはiOSアプリがシステムやユーザーのイベントを受け取るときの挙動とは異なります。 CLIはそのプロセス内で実行され、タスクが完了すると終了します。 非同期処理は、DispatchQueue や 構造化並行処理 などのシステムAPIを使用して実行できますが、非同期処理が実行されている間はプロセスが稼働していることを確認する必要があります。 さもなければ、プロセスが終了し、非同期処理も中断されてしまいます。 CLIはそのプロセス内で実行され、タスクが完了すると終了します。 プロセスを保持して入力待ちをするランループはありません。 これはiOSアプリがシステムやユーザーのイベントを受け取るときの挙動とは異なります。 CLIはそのプロセス内で実行され、タスクが完了すると終了します。 非同期処理は、DispatchQueue や 構造化並行処理 などのシステムAPIを使用して実行できますが、非同期処理が実行されている間はプロセスが稼働していることを確認する必要があります。 さもなければ、プロセスが終了し、非同期処理も中断されてしまいます。 CLIはそのプロセス内で実行され、タスクが完了すると終了します。 プロセスを保持して入力待ちをするランループはありません。 これはiOSアプリがシステムやユーザーのイベントを受け取るときの挙動とは異なります。 CLIはそのプロセス内で実行され、タスクが完了すると終了します。 非同期処理は、DispatchQueue や 構造化並行処理 などのシステムAPIを使用して実行できますが、非同期処理が実行されている間はプロセスが稼働していることを確認する必要があります。 さもなければ、プロセスが終了し、非同期処理も中断されてしまいます。 CLIはそのプロセス内で実行され、タスクが完了すると終了します。 非同期処理は、DispatchQueue や 構造化並行処理 などのシステムAPIを使用して実行できますが、非同期処理が実行されている間はプロセスが稼働していることを確認する必要があります。 さもなければ、プロセスが終了し、非同期処理も中断されてしまいます。 さもなければ、プロセスが終了し、非同期処理も中断されてしまいます。 さもなければ、プロセスが終了し、非同期処理も中断されてしまいます。
Swiftに関する経験がない場合は、言語と Foundation API の主要な要素に慣れるために、Appleの公式ブックをお勧めします。
最小要件
Tuist に貢献するには、最低限の要件があります。
- macOS 14.0 以上
- Xcode 16.0 以上
ローカルでプロジェクトをセットアップする
プロジェクトの作業を開始するには、以下の手順に従います。
git clone [email protected]:tuist/tuist.git
を実行してリポジトリをクローンします。- 開発環境を整えるため、Mise を インストール します。
- Tuist が必要とするシステム依存関係をインストールするため、
mise install
を実行します。 - Tuist が必要とする外部依存関係をインストールするため、
tuist install
を実行します。 - (任意)
tuist auth
を実行して、 Tuist Cache へのアクセスを取得します tuist generate
を実行して、Tuist の Xcode プロジェクトを生成します。
生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 再生成せずにもう一度開くには、open Tuist.xcworkspace
を実行するか、Finderを使ってください。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 再生成せずにもう一度開くには、open Tuist.xcworkspace
を実行するか、Finderを使ってください。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 生成されたプロジェクトは自動的に開きます。 再生成せずにもう一度開くには、open Tuist.xcworkspace
を実行するか、Finderを使ってください。
XED .
xed .
を使ってプロジェクトを開いた場合、Tuist が生成したプロジェクトではなく、パッケージが開きます。 Tuist が生成したプロジェクトを使うことを推奨します。 Tuist が生成したプロジェクトを使うことを推奨します。 Tuist が生成したプロジェクトを使うことを推奨します。 Tuist が生成したプロジェクトを使うことを推奨します。 Tuist が生成したプロジェクトを使うことを推奨します。 Tuist が生成したプロジェクトを使うことを推奨します。 Tuist が生成したプロジェクトを使うことを推奨します。 Tuist が生成したプロジェクトを使うことを推奨します。
プロジェクトの編集
依存関係の追加やターゲットの調整など、プロジェクトを編集する必要がある場合は、tuist edit
コマンドを使用できます。 あまり使われることはありませんが、知っておいて損はありません。 あまり使われることはありませんが、知っておいて損はありません。 あまり使われることはありませんが、知っておいて損はありません。 あまり使われることはありませんが、知っておいて損はありません。 あまり使われることはありませんが、知っておいて損はありません。 あまり使われることはありませんが、知っておいて損はありません。 あまり使われることはありませんが、知っておいて損はありません。 あまり使われることはありませんが、知っておいて損はありません。
Tuist を実行する
Xcode 経由
生成されたXcodeプロジェクトから tuist
を実行するには、tuist
スキームを編集し、コマンドに渡す引数を設定します。 例えば、tuist generate
コマンドを実行する際に、引数を generate --no-open
に設定すると、生成後にプロジェクトが開かれるのを防げます。
また、生成されるプロジェクトのルートを作業ディレクトリに設定する必要があります。 --path
引数を使用して設定することも、以下のようにスキームで作業ディレクトリを設定することもできます。
PROJECTDESCRIPTION COMPILATION
tuist
CLI は、ビルドされたプロダクトのディレクトリにある ProjectDescription
フレームワークの存在に依存します。 [!WARNING] PROJECTDESCRIPTION COMPILATION tuist
CLI は、ビルドされたプロダクトのディレクトリにある ProjectDescription
フレームワークの存在に依存します。 ProjectDescription
フレームワークが見つからずに tuist
の実行が失敗した場合は、まず Tuist-Workspace
スキームをビルドしてください。 ProjectDescription
フレームワークが見つからずに tuist
の実行が失敗した場合は、まず Tuist-Workspace
スキームをビルドしてください。
ターミナル経由
tuist
には tuist run
コマンドがありますが、CLIにはまだ対応していません。 そのため、Swift Package Manager を使用してツールを実行する必要があります。 以下のコマンドを実行してください。
swift build --product ProjectDescription
swift run tuist generate --path /path/to/project --no-open