Pod Update正在删除“目标支持文件”但不更新我的项目设置

时间:2015-09-24 17:57:35

标签: ios cocoapods xcode7

不可否认,自从我在项目中运行pod更新以来,已经有一段时间了。今天我试图做到这一点,并遇到问题。

运行'pod update'后,项目将无法编译。这是我注意到的。更新本身似乎运行正常,就像正常一样。我注意到'Pods / Target Support Files`中的所有文件都已被删除。

当我尝试构建时,我的大多数pod都会收到类似这样的错误:

lang: error: no such file or directory: '/Users/logan/development/ProjectNameRemoved/src/Pods/Target Support Files/Pods-AJNotificationView/Pods-AJNotificationView-dummy.m'

clang: error: no input files

当我使用此错误进入pod的Build Phases时,我可以看到虚拟.m文件仍在那里,即使它不存在: dummy file

删除所有这些似乎没有帮助,因为我开始收到以下错误:

second error

深入了解目标的设置我可以看到GCC前缀头仍设置为使用不存在的pch文件:

prefix header

我不确定从哪里开始。似乎pod更新正在删除某些文件,但我的pbxproj没有更新以关联这些更改。我是否需要弄清楚如何手动执行此操作?

我目前正在运行XCode7和CocoaPods 0.38.2

4 个答案:

答案 0 :(得分:19)

我在重构项目时遇到了这个问题。删除CocoaPod后,我有一些被引用的遗留物。清理缓存和重建并没有解决问题。

我可以使用上面用户评论中引用的cocoapods-deintegrate来解决此问题。

要解决的步骤:

  1. 在Xcode中关闭项目,这样你就没有Xcode向你发出有关版本之间差异的警告(假设你正在使用版本控制,如果你搞乱CocoaPods,这是一个好主意)。 / p>

  2. 输入终端

    ,安装cocoapods-deintegrate

    gem install cocoapods-deintegrate

  3. 从项目目录中输入pod deintegrate

  4. 在Xcode中打开项目,清理缓存并重建。你的 Podfile 应该还在那里...... 不管它。我们马上就会谈到这一点。

  5. 关闭项目。

  6. 输入pod install

  7. 打开项目,清理缓存并重建。

  8. 以下是resolve this issue所遵循的步骤。

    <强>更新

    我还使用此方法来解决在删除对类文件的引用而不是文件本身时出现的链接器错误。这样做,我得到了这个错误:

      

    错误:链接器命令失败,退出代码为1(使用-v查看   调用)

答案 1 :(得分:1)

您可以尝试

package test.scala

import io.gatling.core.Predef._
import io.gatling.http.Predef._

class BaiduSimulation extends Simulation {
    // Set the root path of the request
    val httpConf = http.baseUrl("https://www.baidu.com")
    /*
    run 10 seconds, during:the default unit is seconds, if you want to use microseconds eg. during(100 millisecond)
    */
    val scn = scenario("BaiduSimulation").during(10){
        exec(http("baidu_home").get("/"))
    }
    // set the thread count
    setUp(scn.inject(atOnceUsers(10)).protocols(httpConf))
}

答案 2 :(得分:0)

你能看看这篇文章中的答案是否有帮助?

Xcode install on OSX 10.9 - clang: error: no input files

我会尝试重建我的项目。

答案 3 :(得分:0)

在重新配置podfile以适应多个目标之后,我得到了同样的东西。我只是要使用上面建议的答案,但在做任何事情之前,我在git中提交了我的更改。这解决了这个问题。 git提交包含大量文件删除和cocoapods添加的内容,所以我猜有些事情仍然存在。