每当我构建时,测试对我的 Xcode 项目的任何更改已成为一种耐心练习。编译所有源文件后,我在 Xcode 顶部的事件窗口中收到以下消息:
“运行 3 个自定义 Shell 脚本中的 3 个”
我没有添加任何我自己的自定义 shell 脚本,但我通过 Cocoapods 使用了相当多的依赖项,并且我为构建环境使用了 2 个框架,Crashlytics 和 Tapstream。 Crashlytics 要求您在构建阶段添加一个运行脚本,除此之外我不知道其他脚本来自哪里,它们似乎是我构建时间的瓶颈。
任何人都可以告诉我发生了什么以及我如何加快速度吗?
最佳答案
我无法启发你,但我可以告诉你我是如何阻止我的运行的。这也发生在安装 Cocoapods 之后。在我的主项目的 Target
中,在 Build Phases
下,我注意到两个名为 Check Pods Manifest.lock
的条目和另一个名为 Copy Pods Resources
。
在两者下都有一个未选中的选项 Run script only when installing
。我检查了这两个,至少现在我的项目在没有运行脚本的情况下构建和运行良好。
这是一个蹩脚的答案,因为我真的不能给你更多的信息,而且它甚至可能对你的情况不起作用,所以希望有人来启发我们。
可能的外部 bundle 问题
所以我在调试 pod 安装库的 NSLocalized 字符串文件不起作用的问题时遇到了令人沮丧的经历。原来是因为我勾选了上面提到的选项。 Pods-resources.sh
包含用于安装 bundle 的行,但未在 Debug模式下运行。它只在安装时运行 - 当然!需要注意的事情。
此问题的更多信息:
NSLocalizedStringFromTable not working in CocoaPod dependency
关于objective-c - Xcode 自定义 shell 脚本正在减慢编译时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20649298/