Cocoapods + 无法加载模块 'x' 的基础模块

95

我正在运行XCode 7,Swift 2.0,iOS 9。

我想使用Cocoapods在我的项目中安装Alamofire。我已经完成了以下步骤:

gem install cocoapods

pod setup

pod init

将Podfile更新为:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
use_frameworks!

target 'JSONeg' do

  pod 'Alamofire', :branch => 'swift-2'

end

然后我安装了pod:

pod install

接着我在ViewController.swift中添加了以下内容:

import Alamofire

这会引发以下错误:

Cannot load underlying module for 'Alamofire'

我尝试使用另一个pod,也出现了同样的错误,所以我猜测问题在于Cocoapods的安装。非常感谢您提供任何帮助。


请检查您是否已导入所需的框架。 - user3722523
21个回答

216

这似乎是XCode的一个bug。我也遇到了同样的问题,正如另一个回答中的评论所描述的那样,构建项目可以消除错误。


4
我几乎每个项目都会在一开始来这里......谢谢伙计。 - SoliQuiD
2
该死的变通方法仍然有效... XCode 应该开源。 - Siddharth

25

前往产品 > 构建,它将解决问题:在此输入图片描述


13

以下方法适用于我:

  1. 关闭你的项目
  2. 在终端中进入你的项目目录
  3. 输入以下命令: pod update
  4. 所有的 pod 都会被更新,之后只需要运行你的项目即可

9

无法为SWIFT加载'x'的底层模块:

如何解决问题:

步骤1:创建一个新项目并成功构建和运行,而不需要安装Pod。

步骤2:在成功构建和运行项目后,尝试安装Pod,然后尝试导入realm、alamofire、charts等库,这将会像魔法一样工作。

失败案例 --> 新项目 --> 通过cocoapods添加(realm,alamofire,charts等)但未先构建 --> 打开Xcode工作区 --> 构建和运行

成功案例 --> 新项目 --> 构建和运行 --> 通过cocoapods添加(realm,alamofire,charts等) --> 打开Xcode工作区 --> 再次构建和运行 = 成功


1
当你在一个已有的项目中遇到这个错误时,你不能每次都考虑“开始一个新项目”。99%的情况下,这种错误都是发生在现有项目中。那么,为什么不尝试一下“pod update”呢? - Renexandro

9

一旦您安装了Alamofire pod。

步骤1:双击打开your_project_name.xcworkspace文件打开项目。

步骤2:转到项目设置-->Build Phases-->链接二进制文件与库-->添加框架"Alamofire.framework"。

就这样!!

现在您可以导入模块。


8

我尝试了所有这些解决方案:重新构建、清理、重新安装pods等等,但在我的情况下,问题是由于我使用的AR库导致“仅构建活动架构”设置更改为“否”。将其改回“是”就可以解决问题。希望这可以帮助到某个人。


是的,那就是主要问题,你需要使用Command-Shift-K进行清理。 - Hola Soy Edu Feliz Navidad
1
我不得不将它从“是”设置为“否”。很奇怪。 - Mundi

8

我必须执行产品 > (Opt 点击) 清理构建文件夹...然后再次运行,问题就解决了。


8

以下是我个人的建议:

1)关闭项目和XCode

2)在终端中重复执行以下命令:

> pod install

3) 打开项目

(如果没有帮助,请尝试在重新安装之前删除Pod/文件夹)


1
另外,在重新安装之前,请删除 Pod/ 文件夹。 - nikans

5
在我的情况下,原因不同,是因为我在目标构建设置中的其他swift标志,我必须将继承标志添加到顶部。

5
我使用的是Xcode版本8.3.1(8E1000a)。当我想要安装SwiftCloudant模块时,不知道为什么出现了这个问题。可能是因为我在运行pod install时没有关闭Xcode。
我通过手动将SwiftCloudant.framework添加到Targets > General选项卡中来解决这个问题。
链接框架和库:Targets > General > Linked Frameworks and Libraries
请参考以下链接查看截图:Targets > General > Linked Frameworks and Libraries

在其他所有方法都失败之后,这个方法居然奏效了。非常感谢。 - AmirZ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接