概要
- iOS開発にて、プロジェクトを作成後にcocoapodsを既に利用し始めた後で、XcodeGenを使いたいと思うシチュエーショがたまにあるかと思います
- 上記シチュエーションにて、XcodeGen導入時にエラーが出て苦しんだので、自分が解決した方法を紹介します
環境
- Xcode Version 10.2.1
- cocoapods 1.6.0
XcodeGen導入の方法
https://qiita.com/Alex_mht_code/items/bd421275d3fa6ab160c6
こちらを参考にしました。
出ていたエラー
diff: /Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
試してだめだった解決策
-
https://github.com/phonegap/phonegap-plugin-push/issues/2193#issuecomment-424858312
- Project > Build Settingにて、User-Definedに下記を追加する、という手段
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
- 上記では、cocoapods経由で入れているライブラリに、
No Such Module
のエラーが発生
- Project > Build Settingにて、User-Definedに下記を追加する、という手段
うまくいった解決策
$ xcconfig-extractor {prj_dir}/{prj_name}.xcodeproj configs
にて生成したconfigファイルの
- configs/ProjectName-Release.xcconfig
- configs/ProjecName-Debug.xcconfig
それぞれに、下記のコードを追加します。(ProjectNameにプロジェクト名を入れてください。)
configs/ProjectName-Release.xcconfig
#include "Pods/Target Support Files/Pods-<Project名>/Pods-<Project名>.release.xcconfig"
configs/ProjectName-Debug.xcconfig
#include "Pods/Target Support Files/Pods-<Project名>/Pods-<Project名>.debug.xcconfig"
以上で、
$ xcodegen
$ pod install
を行うと無事ビルドできました。
いまいち原因はわかりませんが、誰かのお力になれたら幸いです。