【问题标题】:CocoaPods with XCode 6.0.1 - How can I fix Pods Frameworks appearing in red?带有 XCode 6.0.1 的 CocoaPods - 如何修复以红色显示的 Pods 框架?
【发布时间】:2014-12-02 12:25:13
【问题描述】:

我在 Xcode 6.0.1 中创建了一个新项目并创建了以下 Podfile:

source 'https://github.com/CocoaPods/Specs'
platform :ios, '8.0'

pod 'AFNetworking', '~> 2.0'

然后我运行pod install,并在 Xcode 中打开了 xcworkspace。当我构建项目时,所有框架都显示为红色。比如在 Pods 项目下,Foundation.framework 显示为红色,并且引用了我电脑上不存在的路径:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework

我的问题是:如何让框架在导航器中显示为黑色,并将我的 pod 正确链接到我的主项目?

我在question的答案中提到了一些更改:

  1. 最初,libpods.a 产品也显示为红色。在阅读其他人以这种方式解决了他们的问题后,我通过将 Per-configuration Build Products Path 更改为 $(BUILD_DIR)/$(CONFIGURATION) 解决了这个问题。

  2. 我已确保我的 Base SDK 在我能找到的所有目标上都是 iOS 8.0。

  3. 我已验证我的 Valid Architectures 对于我能找到的所有目标都设置为“arm64 armv7 armv7.1”。

【问题讨论】:

  • 对我来说,在主项目 (tmpios) 的构建设置中的“其他链接器标签”中添加 $(inherited) 就可以了,仍然是红色,但链接正确且运行良好。

标签: ios xcode ios8 xcode6 cocoapods


【解决方案1】:

这是正常的,因为这些框架不存在于 pod 的项目路径中。正如我在 tmpios->Frameworks 中看到的那样,它没有出现在任何应该存在的框架中。 选择你的项目,然后 Target->tmpios->Build Phases->Link Binary With Libraries 然后添加你需要的框架。

如果你仍然有编译错误并且没有找到 pod 库,那么用这种方式编写你的 pod 文件:

source 'https://github.com/CocoaPods/Specs'
link_with  ['tmpios', 'tmpiosTests']
platform :ios, '8.0'

pod 'AFNetworking', '~> 2.0'

安装 pod,然后在您的项目 Target->tmpios->Build Setting->Other Linker Flags 添加 $(inherited)。

【讨论】:

  • 谢谢,但这并没有解决我的问题。另外,我正在尝试使框架在 Pods 项目下显示为黑色,而不是红色。
  • 我也在寻找解决这个问题的方法。 :(
  • 也在等待解决方案 :( 现在我以不使用 cocoapods 结束。
【解决方案2】:

我遇到了同样奇怪的问题,在一台机器上正确识别的库,但在另一台机器上却没有 - 它们也是红色的。

解决方案是将Pods 目标添加到构建方案中(“产品> 方案> 编辑方案...”然后添加+ Pods 主要目标并将其放在您的主要目标前面。) 然后cleanbuild 项目。

【讨论】:

  • 不,这根本没有帮助。
  • 对我来说,这就是解决方案。这也是cocoapods网站上的官方排错解决方案:guides.cocoapods.org/using/troubleshooting.html
  • 添加 Pods 框架对我不起作用,但添加单独的框架可以。
  • 经过 4 小时的尝试找出它仍然无法正常工作的原因后,您的回答提供了正确的解决方案 - 非常感谢!
【解决方案3】:

只需在 xcode 中删除 Pods Group 中的所有配置,然后再次运行 pod install。这将重新生成 xcconfigs 文件。然后确保它们在 Project > Info > Configurations 中正确设置

【讨论】:

    【解决方案4】:

    我遇到了同样的问题。事实证明,我只需要使用

    运行 pod 更新
    sudo gem install cocoapods
    

    【讨论】:

      【解决方案5】:

      我有同样的问题。并通过更改“红色框架”的路径解决。因为路径之前显示“SDK IOS9”。所以我将框架位置设置为“相对于 SDK”并手动选择正确的框架位置.它暂时起作用。

      我猜是因为我更新到 Xcode 8,但我的 coacopods 仍然是旧版本,所以它使用 IOS9 设置位置导致了这个问题。

      【讨论】:

        猜你喜欢
        • 2018-03-19
        • 2015-01-08
        • 2014-11-16
        • 2019-03-18
        • 2011-03-22
        • 1970-01-01
        • 2021-11-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多