【问题标题】:Using link_with makes my project failed, CocoaPods 0.37使用 link_with 使我的项目失败,CocoaPods 0.37
【发布时间】:2015-05-22 03:26:22
【问题描述】:

我所有的目标都使用相同的库,所以我使用 link_with 来使我的 podfile 整洁。但令我惊讶的是,编译的项目失败了。 Xcode 抱怨在 pod 中找不到某些文件,例如

差异:/../Podfile.lock:没有这样的文件或目录差异: /Manifest.lock: No such file or directory 错误:沙箱不在 与 Podfile.lock 同步。运行 'pod install' 或更新你的 CocoaPods 安装。

找不到'DDLog.h'文件

我再次运行 pod install 并一次又一次地清理 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

【问题讨论】:

    标签: ios xcode cocoapods target


    【解决方案1】:

    我认为这是一个 pod 错误。当项目最初指定目标特定配置并随后尝试组合它时,Pod 不会更新脚本位置。

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

    【讨论】:

    • 超级答案。我需要更改的只是构建阶段->Embedd pod framework-> "${SRCROOT}/Pods/Target Support Files/PhysicalLoacationOfThePods-frameworks.sh
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      进入构建阶段 -> 嵌入 pod 框架 -> $SRCROOT

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

      您需要进行编辑才能更正问题。

      干杯

      【讨论】:

        猜你喜欢
        • 2014-06-14
        • 2016-05-27
        • 1970-01-01
        • 1970-01-01
        • 2021-12-16
        • 2023-03-19
        • 2014-10-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多