Cocoapodsに起因するbuild failded問題

煩わしいライブラリ間の依存の管理は CocoaPods に頼るべしとて流通する情報に任せ手元の開発アプリに導入したのが PhysicsDebugger でした。 SpriteKitフレームワークの物理エンジンで生成される物理体を可視化して 状態の把握を容易にしようと企んでの措置です。 此れは未だ慣れぬ中情報の不足した状況に於いてでしたが Xcode開発環境もフレームワークの SpriteKit も日々有難いことに開発が重ねられ状況も変じていきます。 SpriteKit 標準で物理体の可視化が可能になりました。

MacBook Air2013と珈琲

必然的に PhysicsDebugger は必要なくなりますので此れを外そうとした処が 此処に問題が発生した顛末が今回の記事となります。

スポンサーリンク
日付:2014年4月10日
開発機:MacBook Air(11-inch, Mid 2013)
MacOSバージョン:OS X 10.9.2
Xcodeバージョン:5.1
言語:Objective-C
主関連アプリ:uPanda Breaks Out Fruits

弱り目に祟り目、泣きっ面に蜂と言うのが世の慣わし、 commitした後間違えてゲームオーバーシーンのヘッダ及びプログラムファイルを削除して Discard All Changes したら同時にPodfile.lockファイルやPodsフォルダなども消えてしまい 遂にプロジェクトがビルドしようと思っても Build Failded のエラー出力が吐かれるばかりで不能になってしまいました。 此の問題についても直近状況に復帰させなければいけません。

Build Faildedのエラーには矢鱈 shell script invocation error が出力されログにはPodfile.lockが見付からないなどcocoapods関係のファイルの非存在と Apple Script と出るのでどうも起動時にApple Scriptが走って其の時に登録された cocoapods関連のファイルが読み込まれなければいけないのに其れが存在しない旨のエラーだと判断し 何処にあるか分からない Apple Script を見付けて当該部分を編集しようともしましたが様々鑑みて此の手法を取るのは保留としました。

Cocoapods が機能しないのだからターミナルから pod update し直して再構成すれば良いかと思い実行してもみましたがどうしても Analyzing dependencies から先に進まず時間が掛かるばかりでキャンセルしたりと試行錯誤を重ねます。

uPanda Breaks Out Fruits tsukamoto$ pod update
[!] No `Podfile.lock' found in the current working directory, run `pod install'.
uPanda Breaks Out Fruits tsukamoto$ pod install
Analyzing dependencies
^C[!] Cancelled

いっそ新規プロジェクトを立ち上げてプロジェクト内の全ファイルをコピーして対処しようともしたのですが 開発の進まない今の時期にトラブル対処しておくのも良いかと思いネットを繰ってみて見つけたのが Qiita の2014年1月31日の記事です。

CocoaPodsのpod installがうまく動かなくなった時に試してみること

手に入れた情報は根本的には問題が異なると思うのですが 対処療法として試してみようと思い実行したのですが 結果から言えば予想外に上手く運んでくれました。 基本的には当該ディレクトリで以下を実行します。

$ pod repo remove master
$ pod setup
$ pod install

此の時注意すべきは空のPodfileだと上手く行かないので以下の如く中身を入れ PhysicsDebugger ライブラリを構成するのがポイントとなりました。

  • platform :ios, "7.0"
  • pod 'PhysicsDebugger', git: 'https://github.com/ymc-thzi/PhysicsDebugger.git'

プロジェクトを開きビルドを試してみれば成功し取り敢えずの直近への復帰はなりました。 此の際cocoapods構成の uPanda Breaks Out Fruits.xcworkspace はエラーがなくなりましたが uPanda Breaks Out Fruits.xcodeproj は別のエラーが一つ出力されました。 此れは即ち .xcodeproj 側は元のプロジェクトでPodsライブラリがリンクされていない為で この件に関しては Linker エラーが表示されていることから [TARGETS] > [Build Phases] > [Link Binary With Libraries] と踏んで開いてみると案の定赤字表示が目に煩わしくある ライブラリを (-) すれば見事ビルドの出来です。 以前経験済みの自動リンク関する問題等鑑み 上記手法を試したら直ぐに機嫌良く動いてくれた次第。

uPanda Breaks Out Fruits
無料:カテゴリ: ゲーム:4+ 評価
バージョン: 2.0(更新: 2015年12月1日)
サイズ : 10.0 MB
互換性: iOS 7.1 以降。iPhone、iPad、および iPod touch に対応。
スポンサーリンク