別に時間かけて考える必要はなく、好きに開きゃいいです。
- README に書く導入コマンドのあとに、Xcode を開くコマンドをキレイにかけたらいいなとか。
- いろんなプロジェクトを CLI から開く時、かんたんなコマンドで開けたら良いなとか。
そういうモチベの記事です!
基本どんなプロジェクトでもすぐ対応できるよう、独自の shellscript を書くとかは無しで。
1. xed コマンド
この記事を書こうと思ったメインの内容です。
xed .
プロジェクトを開くときの一番の問題は、CocoaPods のせいで .xcworkspace があるプロジェクトと無いプロジェクトがあることです。
このコマンドでは、 .xcworkspace を優先して開き、なければ .xcodeproj を開いてくれます。
また、プロジェクト名は気にしなくて問題ありません。
開く際に優先される順位は下記です。
- Package (Xcode 11+)
Server-Side Swift などプロジェクトルートに Package.swift があるもの - xcworkspace
- xcodeproj
- playground
引用: https://stackoverflow.com/a/52739630
2. open コマンド
xed
を知るまでは通常の open
コマンドを利用していました。
# 1. 通常利用 (xcworkspace がある場合は xcodeproj と共に 2 つ開いてしまう)
open *.xc*
# 2. xcworkspace があってもなくてもいい感じに開く
open *.xcw* || open *.xc*
# 3. Xcode beta や別バージョン共存時に正しく開く
open -a Xcode-beta *.xc*
こちらで唯一 xed
に勝る点は 3 です。
Xcode のバージョン移行時期は、 beta 版や過去バージョンなどと共存することがほとんだと思います。複数プロジェクトに関わってると、プロジェクトごとに移行の進捗も変わるため、適切な Xcode を開ける必要があります。
後記
最近は Carthage
の Xcode 12 対応が遅れたりで、
Swift Package Manager
への移行が加速してる感じがします。
この流れで CocoaPods
も淘汰されたら .xcworkspace 無くなるので幸せですね。
他に良い方法があれば教えて下さい。