iOS:可可豆荚:代码编译问题

Posted

技术标签:

【中文标题】iOS:可可豆荚:代码编译问题【英文标题】:iOS: Cocoa Pods: Code Compile Issue 【发布时间】:2015-07-29 14:29:30 【问题描述】:

问题

我最近开始从事一个项目。

使用 Cocoa Pods 作为依赖管理器。

它还使用 Crashlytics 进行崩溃报告。

用于生成图标的 Image Magick 和用于重组项目文件夹的 Synx。

我获得了 Git 访问权限。

所以我克隆了 repo。

做了pod install

并编译了代码,但它开始给我以下错误。

项目目标是 ios 7。

Cocoa Pods 版本是 0.36.4 也试过最新的 0.38.2

这是一个仅限 iphone 的应用程序。

到目前为止我为解决这个问题所做的工作

所以我与非常乐于助人的原始开发人员坐下来,并在他的机器上保存了代码的工作副本。因为这是一个代码交接,所以他正在帮我在我的机器上设置它。

我们已经审判了所有常见的嫌疑人。

    清理和构建 Clean 退出 Xcode 重新打开并构建 退出 xcode 删除 Pods 目录并执行pod install pod setup pod update 检查了不同构建配置的 PODS_ROOT 路径,工作副本在另一台机器上正确编译 我的 pod 是最新的,所以我使用 sudo gem uninstall cocoapods 卸载了 cocoapods 并安装了原始开发人员拥有的版本 sudo gem install cocoapods -v 0.36.4 匹配 Xcode 版本 xcode 6.4 检查项目信息下的配置 另一个从 Github 拉取并执行上述所有步骤的另一个位置。 清除 Xcode 派生数据文件夹。

所以基本上我们检查了所有这些,重试了上述所有步骤,还验证了项目设置构建阶段等。

代码在他的机器上运行良好。

我注意到的一些奇怪行为是,有一次不是上面提到的图片错误,而是给 Pods 中的一个库提供了着名的 xyz.h 文件未找到错误。但是执行pod install 会恢复到原始错误。

有什么想法吗?

【问题讨论】:

【参考方案1】:

我记得这个..我认为这是由于 cocopods 将“复制 pods 资源”shell 脚本的目录从一个版本更改为另一个版本。查看您的目标构建阶段并检查我认为的“运行脚本”条目。查看路径,然后签入 finder 以查看 shell 脚本的实际位置。

不太确定细节......它可能是其他cocopods之一进入构建阶段部分。环顾四周,我记得当你知道该往哪里看时很容易发现它。

应该是 Build Phases 下的“Check Pods Manifest.lock”部分。

【讨论】:

我有这个路径 "$SRCROOT/../Pods/Target Support Files/Pods/Pods-resources.sh" 和原来的开发一样 构建阶段下的“检查 pods manifest.lock”部分怎么样。看起来怎么样?【参考方案2】:

确保您打开的是工作区项目 (.xcworkspace) 而不是 XCode 项目..

其他

删除 podfile.lock

删除 Pods 文件夹

删除 .xcworkspace

删除 manifest.lock(如果存在)

转到 pod 文件的路径并运行 pod install

然后它会生成.xcworkspace。 现在开始你需要使用工作空间而不是 xcodeproj

希望对你有所帮助..!

【讨论】:

以上是关于iOS:可可豆荚:代码编译问题的主要内容,如果未能解决你的问题,请参考以下文章

通过可可豆荚问题安装 AFNetworking

如何使用可可豆荚安装 Google Api

Microsoft Cognitive Services Face API - 如何在没有可可豆荚的情况下集成 iOS 框架?

无法将没有可可豆荚的 Google Analytics iOS SDK 添加到我的项目中

更新可可豆荚后xcode重复符号架构错误

使用 Facebook 和 Google 登录的 AWSMobileHubHelper 无法构建 var 可可豆荚