首页 文章

使用link_with使我的项目失败,CocoaPods 0.37

提问于
浏览
3

我的所有目标使用相同的库,因此我使用link_with使我的podfile整洁 . 但令我惊讶的是,编译的项目失败了 . Xcode抱怨它无法在pod中找到一些文件,例如

diff:/../Podfile.lock:没有这样的文件或目录diff:/Manifest.lock:没有这样的文件或目录错误:沙箱与Podfile.lock不同步 . 运行“pod install”或更新CocoaPods安装 .

找不到'DDLog.h'文件

我再次运行pod安装并一次又一次清理xcode . 但没有运气 . 我无法弄清楚原因 . 从我所看到的,cocopods只将每个目标的shellScript更改为一个Pods-resources.sh,这就是link_with应该做的,对吧?

shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CloudPhone/Pods-"my target"-resources.sh\"\n";
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n";

这是cocopods的错误吗?我使用最新的0.37,现在我回去单独指定每个目标 .

更新:

CocoaPods 1.0删除了link_with,转而支持abstract_target

3 回答

  • 7

    快速解决方案:删除 Embed Pod Frameworks 并再次运行 pod install

    enter image description here

  • 1

    遇到了同样的错误 . 只想添加Sukitha的答案 .

    转到 build phase - > Embed pod framework - > $SRCROOT

    请务必检查此 SRSCROOT 文件块是否正确通向 frameworks.h 文件 .

    您需要进行编辑才能解决问题 .

    干杯

  • 3

    我认为这是一个pods bug . 当项目最初指定目标特定配置并稍后尝试将其组合时,pod不会更新脚本位置 .

    要修复,请转到构建阶段 - >嵌入窗格框架 - >更新脚本文件位置以反映通用窗格文件夹(如/Pods/Pods-frameworks.sh“) . [您可以在finder中导航以找到sh的确切位置删除任何其他不反映在物理文件夹中的脚本 . 现在项目应该编译 .

相关问题