Pod Update 正在删除 "Target Support Files" 但不会更新我的项目设置

Pod Update is removing "Target Support Files" but not updating my project settings

诚然,我 运行 对我的项目进行 pod 更新已经有一段时间了。今天我正试图做到这一点,并且 运行 遇到了问题。

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

当我尝试构建时,我的大部分 pods:

都会收到类似这样的错误
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

当我带着这个错误进入 pods 的构建阶段时,我可以看到虚拟 .m 文件仍然在那里,即使它不存在:

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

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

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

我目前正在 运行宁 XCode7 和 CocoaPods 0.38.2

你能看看这个 post 中的答案是否有帮助吗?

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

我会尝试重建我的项目。

我在重构一个项目的时候遇到了这个问题。删除 CocoaPod 后,我引用了它的剩余部分。清理缓存和重建未能解决问题。

我能够使用上面用户评论中引用的 cocoapods-deintegrate 解决它。

解决步骤:

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

  2. 通过在终端中输入安装cocoapods-deintegrate:

    gem install cocoapods-deintegrate

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

  4. 打开 Xcode 中的项目,清理缓存并重建。您的 Podfile 应该仍然存在...别管它。我们稍后会讲到。

  5. 关闭项目。

  6. 类型pod install

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

这些是我 resolve this issue 所遵循的步骤。

更新:

我还使用这种方法来解决链接器错误,当我删除对 class 文件而不是文件本身的引用时出现该错误。这样做后,我收到了这个错误:

error: linker command failed with exit code 1 (use -v to see invocation)

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

你可以试试

pod deintegrate
pod install

*您应该位于 Podfile 目录