[Swift] R.swiftを導入しようとしたら、Command PhaseScriptExecution failed with a nonzero exit code と出た時

ITSwift

[検証環境]
Xcode 10.2.1
Swift 5.0.1
cocoapod 1.6.1

結論からいいますと、公式ドキュメントの手順(https://github.com/mac-cain13/R.swift#manually) 「Run Script」で Shell を書く箇所を

にすると成功し、プロジェクト直下に R.generated.swift が作成されます。

ドキュメントに書いてあるシェルを書いてビルドした際のエラーを読むと、

とはかれていて、rswift がないと言ってます。

cocoapod を使用しているのですが、rswift があるディレクトリは 「Pod/R.swift/rswift」です。

なので、シェルのパス指定を “$SRCROOT/rswift” から “$PODS_ROOT/R.swift/rswift” に変えてやることでうまくいきました。

「Build Phase」の設定箇所で「Input Files」「Output Files」も設定する必要があります。

ちなみに R.generate.swift は下記のような構造体です。
リソースを追加するたびにビルドし直す必要がありますね

参考:
【Swift】R.swiftが優秀すぎるので紹介してみる
R.swift

以上になります。

スポンサーリンク

Posted by nobuhiro harada