LoginSignup
18
12

More than 5 years have passed since last update.

Carthageを使っていて"$(SRCROOT)/Carthage/Build/iOS/*.framework"を打ち飽きた方へ

Last updated at Posted at 2017-01-02

作ったもの

Carthage/Build/[Platform]/内のframeworkをRun ScriptInput Filesに書き込みます。

usage.gif

Ver 0.3

  • 差分機能
  • プレビュー機能
  • 選択機能
  • 出力の色付け

を付けました

Ver 0.4

  • ターゲット一覧から処理したいターゲットを選択できるようにしました。

Carthageを使うときに$(SRCROOT)/Carthage/Build/iOS/*.frameworkなどと毎回書くのがめんどくさかったので作りました。
1年前くらいからpythonでは作ってあったのですが折角なのでSwiftで作ってみました。

実行結果

Screen Shot 2017-01-02 at 11.57.09 AM.png

使い方

  1. Cartfileを作成
    Cartfileを作成し、その中にライブラリを追加してください。

  2. carthage update
    まずはビルドしてframeworkを生成します。

  3. Run Scriptを追加
    Xcode -> Targets -> Build Phasesの左上の+ボタンを押してRun Scriptを追加します。
    /usr/local/bin/carthage copy-framework

  4. carthage-input-files YourXcodeProject.xcodeproj
    このコマンドでInput Filesのところにframeworkが書き込まれます。
    現在は$(SRCROOT)/Carthage/Build/[Platform]/内のframeworkを全て書き込んでしまうので、
    もし余計なものが入ってしまった場合は、実行後にInput Filesのところの-を押して消していただきたいです。(Ver 0.3で修正)

  5. diffをなくす
    現状コマンドを実行したままだと、project.pbxprojのフォーマットの違いから大量のdiffが発生してしまいます。
    それを解消するために、実行結果を確認するついでに、Input Files+を一度押して、その後、-を押していただきたいです。
    そうすると、いままで通りのフォーマットになって実際の差分だけを取り出すことができます。

work-around.gif

インストール方法


git clone git@github.com:ken0nek/CarthageInputFiles.git // or git clone https://github.com/ken0nek/CarthageInputFiles.git
cd CarthageInputFiles
make install

で、/usr/local/bincarthage-input-filesというコマンドが置かれます

展望

  • frameworkの選択 (Ver 0.3)
  • targetごとに設定 (Ver 0.4)
  • Run Scriptごと追加 <- keyをどうやって決めればいいのかが分からないです

免責

project.pbxprojをいじるものなので、最悪プロジェクトが開けなくなってしまう場合が起きてしまうかもしれませんが、ご自身の責任でご利用ください。

バグや改善点がありましたらプルリクなどお待ちしております、、

参考


18
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
12