xsort って言うgem作ってみました。
Overview
Xcodeで左側のファイルツリーに表示されているファイルがソートできないので、できたら良いと感じ、
Rubyでファイルをソートできるやつを作成してみました。
インストール方法
動作環境は ruby 2.3.0 で動きます。
gem install xsort
git hubにソースコードを晒しておりますので、そちらから取得し、gemにすることもできます。
SSH経由:直接コミットを定期的に行う予定の方は、SSHを使ってクローンを作成すると、SSH鍵をGitHubにアップロードする必要があります。
$ mkdir gitrepo
$ cd gitrepo
$ git clone git@github.com:keisukeYamagishi/xsort.git
https:でクローンする場合
$ mkdir gitrepo
$ cd gitrepo
$ git clone https://github.com/keisukeYamagishi/xsort.git
使いかた
xsort をインストールした後、下記を実行すると、
$ xsort
下記のような結果を得られます。
Usage: xsort [-v] [<path>] [-o]
These are common detect commands used in various situations:
xsort version: 1.2.3
option:
-v: display xsort version number
-o: output result
-r: Just extracting output.pbxproj will not write to pbxproj of Xcode project
Regars !
mac OSの種類によっては下記の修正が必要です。 ***********************
(☝ ՞ਊ ՞)☝ Wow What's this!!!
mac OSX to HighSierra,
実行した時に下記のようになりましたら
->> xsort
-bash: /usr/local/bin/xsort: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory
(☝ ՞ਊ ՞)☝ Wow What's this!!!
下記を実行してください、
sudo gem update --system -n /usr/local/bin
sudo gem install -n /usr/local/bin xsort
ソートします。
$ xsort ./XcodeApps.xcodeproj
Xsort Successful (☝ ՞ਊ ՞)☝!!!
オプション
Display result log
変換結果が必要な場合は -o で変換結果を出力します。
xsort ./XcodeApps.xcodeproj -o
下記のような変換結果がでます。
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
BA218946A1F8E64C27B613CD /* Pods_Breris.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B2DD76AFE7C2922950BB5D /* Pods_Breris.framework */; };
C704FFE71FB0A67D0043E7BD /* bggfg.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C704FFE61FB0A67D0043E7BD /* bggfg.jpg */; };
C704FFE91FB0A68C0043E7BD /* world.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C704FFE81FB0A68C0043E7BD /* world.jpg */; };
C7080F921FFC317F0077A4AD /* TwitterAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7080F911FFC317F0077A4AD /* TwitterAuth.swift */; };
C7080FB21FFC97F60077A4AD /* Capture.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7080FB11FFC97F60077A4AD /* Capture.swift */; };
C7080FC81FFE49A30077A4AD /* checkmark-flat.png in Resources */ = {isa = PBXBuildFile; fileRef = C7080FC71FFE49A30077A4AD /* checkmark-flat.png */; };
C7080FCA1FFE4A0B0077A4AD /* TwtterStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7080FC91FFE4A0B0077A4AD /* TwtterStatus.swift */; };
C7080FCC1FFE4A200077A4AD /* TwitterStatus.xib in Resources */ = {isa = PBXBuildFile; fileRef = C7080FCB1FFE4A200077A4AD /* TwitterStatus.xib */; };
C7080FCE1
....... any
..... any
... any
.. any
any
-r を使うことにより
使用中のアプリに直接影響を与えることなく、変換したファイルを別の名前で出力します。
xsort ../App/App.xcodeproj -r
xsort のバージョンを出力します。
オプション -v で
->> ./xsort -v
Version: 1.2.4