引き続き、iOS 系のチップス集的なブログ 同じような処理だけどこっちの方がいいよってやつ の続きを眺めていきます。それの最後くらいのあたりにある Xcode を開くときのコマンド
からが今回のテーマです。こういうプログラマーな日常の補助的な観点もいいなと思いつつ、いろいろ見ていきましょう。よろしくお願いしますね。
——————————————————————————— 熊谷さんのやさしい Swift 勉強会 #298
00:00 開始 01:17 Xcode を開くコマンド 02:27 一般的な open コマンド 05:48 man ページ 07:46 xed コマンドで Xcode を開く 09:04 xed で開くファイルの優先順位 14:15 コマンドラインから Finder を開く 14:39 Finder からターミナルを開くには? 15:32 xed コマンドのオプション 16:42 xed コマンドでファイルを作れるらしい 20:30 ほかの xed コマンドのオプション 22:38 もっと xed の活用場面を知りたい気持ち 23:53 クロージングと次回の展望 ———————————————————————————
Transcription & Summarize : 熊谷さんのやさしい Swift 勉強会 #298
はい、では始めていきますね。今日も引き続き、脱線中の同じような処理ですが、こっちの方がいいよってやってた「のっぺさん」のブログを楽しく見ております。これもそろそろ終わりっていう感じですね。最後の方の話題になりますが、SwiftとかiOSとかいろんなプラットフォームで見られてて面白いなと思いました。
今回もうちょっと外側の話題に移ります。Xcodeを開くときのコマンドについての話です。この話題が出てきて、いいですね。こういう情報、特にこのあたりについて気にしていないと、なかなか情報が入ってこないですからね。自分もたまたま耳に入って知っていたんですが、便利なお話でした。
Xcodeを開くときのコマンドは、人によってはアイコンをダブルクリックして開いたり、Finderでダブルクリックして開いたりすると思います。しかし、ターミナルアプリからXcodeを開くこともありますよね。特に最近、エディターマネージャーとかを使っている人は、コマンドから開いたほうが楽な場合もあります。
もしかすると知らない人もいるかもしれませんが、open
コマンドで開くよりも良い方法があるよというお話です。ターミナルに慣れている人はopen
コマンドで開くのが自然な流れですが、これも調べてみると新しい発見があるかもしれません。
たとえば、ターミナルで「Mac アプリを開く」と検索すると、open -a
という情報が先に出てきますよね。これでXcodeを指定して、ファイル名を渡すと開くことができます。私も試してみたことがありますが、自然な流れでこれを使っている人も多いでしょう。
具体例として、open ファイル名 -a
という形式で使えます。これでアプリを指定して開くことができます。open
コマンドで指定がないとデフォルトのエディタで開くという動きです。この方法の他にも、オプションがいくつかあります。
また、マニュアルを見れば他にも新しいインスタンスで開くとかいろいろな情報が書いてあります。実際にターミナルから開くときは、さらに詳細な使い方を確認すると便利なオプションが見つかります。
たとえば、man open
コマンドを使って、マニュアルを調べると、open -a
や他のオプションの詳細が分かります。オプションの一例として、新しいインスタンスで開くものなどもあります。これを使うと、同じアプリでも別のウィンドウで開くことが可能です。
さらにターミナルでアプリがクローズするまで待つオプションもあります。これを使うと、アプリを開いてその操作が終わったら、ターミナルで続けてコマンドを実行することができます。このようにopen
コマンドは非常に便利です。
これが一通り、Xcodeを含むMacアプリをターミナルから開く方法についての概要です。詳しく知りたければ、man open
でマニュアルを調べると良いでしょう。 そうすると、こうやってより読みやすい形でドキュメントとしてちゃんとページ上に表示されます。これはきっと見やすい形になっていると思います。さっきのマイナスA1よりも詳しいことが書いてあったりするのですが、このコマンドからマニュアルBが出されるときには、たとえば検索で man open
みたいにしてあげると、大体 man
ページが出てきますよね。これを見るとさっきの情報がこうやって日本語でも表示されます。これは情報元によるでしょうけど、同じ情報だと思うんですけど、場合によってはバージョンが異なるかもしれませんね。あと、これ関数とかが出てくるときもあります。たとえば、C言語で open
コマンドを使うときの情報が他に使われる感じですね。
普通のコマンド版のドキュメントがどれだろうと探してみたりもしますが、関連項目で open
コマンドと出ているので、インクルードの部分は違います。何か番号が付いていますが、詳しく調べないと正確な情報は分かりません。またゆっくり調べてみることにします。
とりあえず、こういうところで open
コマンドがありますよという話でした。これを別のコマンド xed
というコマンドを使うと便利だということも話していました。xed
を使ったことがある人はいますかね?結構有名なのかな、どうなんでしょう。
また、アンケートの結果として xed
を使って環境を更新する際に便利だという意見もありました。今日使ってみて、これが楽だというのが分かりますね。自分が初めてこのコマンドを知るきっかけになったのは、ワークスペースを使ったときでした。プロジェクトだけのときと比べると、ワークスペース全体を開き忘れることがなくなるので便利です。
実際に使ってみると、このコマンドの落とし穴というか、気をつけなければならない部分があります。それは、ワークスペース以上に優先順位が高いファイルが存在することです。Package.swift
のほうが優先順位が高いのですが、同じディレクトリにプロジェクトファイルとワークスペースファイル、それに Package.swift
が複数ある場合、Package.swift
が優先されるということです。これは普通、パッケージファイルはワークスペース内に含まれていることを想定しているからかもしれませんね。
こういった問題を解決するために、Package.swift
はさらにフォルダに置いています。xed
を実際に Xcode
で使ってみましょう。大体反通りです。たとえば、新規プロジェクトでマイコマンドみたいな名前のアプリを作成して、それをワークスペースのルートに入れることで、並列でプロジェクトを管理できるようになります。これなら問題は生じません。
ワークスペースを使うと、プロジェクトの管理がよりスムーズになり、効率的に開発を進めることができるというメリットがあります。 昔と比べて構成が少し雑になってしまったような気がしますが、本題に戻りましょう。Xcode(エクスコード)の現在のフォルダを開きたいときに、間違えて別のフォルダを開いてしまうことがあるかもしれません。こういったミスを防ぐためには、Xcodeでワークスペースを通じて開くと良いです。
Xcodeのコマンドラインツールが導入されているか確かめて、インストールが必要ならばインストールしましょう。また、コマンドラインからXcodeを開きたいときには、xed
コマンドが便利です。このコマンドを使うことで、ターミナルから直接Xcodeを開くことができます。例えば、ターミナルの現在のフォルダをFinderで開きたいときにはopen .
コマンドが使えます。この方法で、Finderからダブルクリックでファイルを開くこともできます。
自作ツールでは、iPhoneのアイコンを押すとターミナルが開くような仕組みを作成することもできます。Finderからターミナルを開く機能も便利です。例えば、フォルダを右クリックして「ターミナルで開く」というオプションがあると便利ですよね。これを手軽に行き来することができれば、作業効率が上がるはずです。
xed
コマンドにはいくつかのオプションがあります。このコマンドの詳細を確認するためには、xed -h
コマンドを実行してみましょう。適切なドキュメントやヘルプが表示されるはずです。また、Xcodeのパスを指定する場合は、xcode-select -s /Applications/Xcode.app
のように設定を行うと良いです。
例えば、デスクトップに新しいディレクトリ「test」を作成し、その中にプロジェクト用のファイルを作成したい場合は以下のようにします。
mkdir ~/Desktop/test
cd ~/Desktop/test
xed .
これで、フォルダ内に空のプロジェクトが開かれます。同様に、mkdir test
とcd test
を使ってディレクトリを移動し、xed
コマンドを使うことで、スムーズに開発環境を整えることができます。
こうして、ターミナルとFinder、Xcodeをシームレスに行き来することで、作業効率を高めることができます。お試しください。 さて、Xcodeで新規ファイルを作成する場合、ストーリーボードやビュー、プロパティリスト(PList)など、さまざまな選択肢があります。今回はPListを作成してみましょう。PListをダブルクリックで開いたところ、何も表示されませんでした。こういう場合には、ターミナルからopen -a Xcode test.plist
のようにして、特定のエディタで開くことができますが、それでも空っぽのようです。また、Linux標準のエディタも使用できるので、色々なツールを試す価値があります。
さらに、xed
コマンドについても見ていきましょう。xed
コマンドには多くのオプションがあり、ファイルを開く際に便利です。特にXcodeのワークスペースやプロジェクトを開くのに役立ちます。スクリプト内でxed
を使うと、Xcodeのような便利な動作をします。他にもxed
には多くのオプションがあるので、それぞれのケースに合わせて使い分けると良いでしょう。
xcode-select
に関連したコマンドもあるという話題もあります。詳しいことはわかりませんが、Xcode関連の環境設定を切り替えるのに使えるようです。ここで紹介したコマンドやツールを使ってみると、新しい発見があるかもしれません。
この勉強会を通して、皆さんにとって新しい知識を得る機会となれば幸いです。次回は循環参照に関する話題に戻り、さらに掘り下げていこうと思います。以上で本日の内容は終了です。お疲れ様でした。ありがとうございました。