如何重建开发pod更改?

时间:2018-05-27 13:44:02

标签: ios xcode cocoapods

我有一个开发窗格,我使用for pin in GetBottlesFromDB.sharedInstance.Pins{ print("Add Pin : \(pin)") } 在本地连接到我的应用。当我在该开发窗格中的应用程序代码中进行更改时,构建后不会包含此更改。这就像我构建缓存代码,而不是我的代码更改。

对于包含代码更改到构建中,我必须运行命令" Clean Build Folder",但在该构建需要很长时间后,持续10分钟,这不是很有效率。

从字面上看,我对一行代码发表评论并等待10分钟才能看到这些变化。

有什么问题?

我试图运行" pod install / pod update"任何改变之后,它都没有效果。

8 个答案:

答案 0 :(得分:36)

我在Xcode 10.0(10A255)上遇到了同样的问题。回到原来的构建系统(在“文件”->“项目/工作区设置”中),现在可以解决该问题,直到由Cocoapds或Xcode解决。

答案 1 :(得分:3)

我正在使用下面的内容。

EditScheme -> Build -> Add a development Pods

答案 2 :(得分:2)

虽然改回旧的构建系统有效,但是在某些大型项目中,构建时间可能会增加。一种替代解决方案是添加此运行脚本find "${SRCROOT}/Pods" -type f -name *frameworks.sh -exec bash -c "touch \"{}\"" \;,以触摸项目的Build Phases-> Embed Pods Framework下的所有框架脚本。在此错误修复之前,这应该可以进行新的更改。

答案 3 :(得分:1)

作为一种解决方法,我一直在手动“清理”我的开发容器。

  1. Pods项目中打开Products,选择开发pod框架
  2. 在右侧的检查器中,选择打开Finder的箭头
  3. 删除框架
  4. 构建/运行

希望有帮助,苹果很快就会解决此问题...

P.S。肯定会写一个简单的脚本来做到这一点。

更新18年9月25日

似乎有时我也必须删除中间版本。

答案 4 :(得分:0)

我还没有一个实用的自动解决方案。但是您可以手动执行CMD + shift + kproduct -> clean build folder

但是随后需要重新构建整个项目。如果您有很多pod /框架或源代码,则可能需要一些时间才能重新编译。

就像其他人提到的那样,这似乎是与新构建系统相关的错误。因此,您可以切换回旧系统。

都不是很好的解决方案。但这就是我们为使用苹果而付出的代价;)。

答案 5 :(得分:0)

我尝试了接受的答案,但没有成功,然后我添加了 install! 'cocoapods', :disable_input_output_paths => true到podfile,它现在可以正常工作。

use_frameworks!

install! 'cocoapods', :disable_input_output_paths => true

target 'TargetName' do
  # ...
end

答案 6 :(得分:0)

Github issue对此Andrés Cecilia Luque提供了一个更清洁的修复程序,它也对Xcode 11.5也有效。非常方便。

答案 7 :(得分:-1)

我正在使用开发pod一段时间,它在大多数情况下都能正常工作。改变不会像你只发生几次一样生效。

删除Pods文件夹并重新安装可能会解决问题。

更新

我必须声明我的答案不适用于Xcode 10之后的情况。对于Xcode 10, CocoaPods目前可能不支持新的构建系统。他们修复了它{{3} }

在我的情况下(在Xcode 10之前),大部分时间它运行良好,除了少数。