Alamofire无法找到模块(CocoaPods)

37

使用 Xcode 7

我正在尝试在一个示例项目中安装 Alamofire。已经按照 Ray Wenderlich 的文章 中的说明进行了操作。

与上述链接唯一的区别是 podfile - 来自于 GitHub 页面 这里,因为版本已经更新。我还使用了 Swift 2.0 分支。

以下是错误的快照、我的 podfile 和在安装 pod 后的终端截图

PODFILE enter image description here

TERMINAL enter image description here

备注:我想使用 Cocoapods 安装 Alamofire。我不想从 GitHub 页面下载它。


当你运行 pod install 命令时,是否会下载 Alamofire? - Shamas S
我想是这样的..我已经在原问题中添加了我的终端截图..请看一下。 - Anuj Arora
你是怎么解决这个问题的? - user2526811
19个回答

76

对我来说,关键在于打开.xcworkspace文件而不是原始项目文件本身。


5
那是每个人都应该尝试的第一件事。 它完美地发挥了作用。 - schingeldi

29

在Xcode中执行以下操作:

Scheme -> 管理 Scheme...
选中 Alamofire 复选框 → 构建 Alamofire Scheme

如果您使用 Playground ,则应更改 Playground 的设置:

查看 -> 实用工具 -> 显示文件检查器
平台从 OSX 改为 iOS

3
选择Alamofire时,它构建成功,但当我更改我的项目后就无法工作了。构建失败并且在导入Alamofire时显示“没有此模块”的错误信息。 - Chandni
我试图在Xcode 9.2上运行使用Swift 2.0开发的现有项目,这个解决方案对我有效。 - Pramod More
到目前为止,这里发布的解决方案都对我无效。 - BadmintonCat

10

在导入UIKit之后导入Alamofire。 然后将其注释掉,首先构建项目。 取消注释。 (当其他答案无效时,这对我和其他人有效)。


3
其他的答案对我没有用,我尝试了一切并花了几天时间来解决这个问题。也许对其他读者有所帮助。我在另一个关于这个确切问题的问答页面上看到这是其他人的解决方案。这不是魔法技巧,而是修复程序错误的方法。为什么不允许提供另一个解决方案?这不是在重复一个主题中的答案,而是提供可能是某人需要的答案的另一个解决方案,且此前没有发布过。在这里可以看到这是其他几个人的答案:https://github.com/Alamofire/Alamofire/issues/122 - Dimitri T
这对我来说刚刚起作用,之前什么都没用!太疯狂了。 - Pierce
这个有效...直到下一次清理。然后问题又出现了。 - BadmintonCat

9

试一下这个。

对于 Swift 2.0,不需要将 Alamofire.xcodeproj 添加到您的 Xcode 中。只需从 https://github.com/Alamofire 复制并粘贴源文件夹即可。

或者,如果您想通过 Cocoapods 安装 Alamofire,请尝试以下代码。

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

  pod 'Alamofire', '~> 2.0'

尝试了CocoaPod的代码,但是没有成功,显示Alamofire底层模块无法加载。 - Anuj Arora
我认为你应该尝试从Alamofire git项目复制和粘贴源文件夹到你的xcodeprj中,或者尝试更新你的cocoapods到最新版本。 - Suraj
是的,我做了那个并且它起作用了。尽管错误仍在显示,但我只需要构建项目,然后一切都好了。谢谢。 - Anuj Arora
嗨,我正在扩展Alamofire依赖项,但仍然出现“没有这样的模块”的错误 - 我的Xcode版本是7.2.1,OSX El Capitan等。请尽快更新。 - Mohsin Khubaib Ahmed

5

只有一种方法可以解决这个问题。

退出Xcode。

删除项目的临时文件,位于/Users/username/Library/Developer/Xcode/DerivedData。

删除ProjectName.xcworkspace。

删除Podfile.lock文件和Pods文件夹。运行pod install。

打开新创建的ProjectName.xcworkspace文件并构建。

感谢Dimitris Bouzikas在这里


5

以下是需要做的:

  • 关闭你的项目,
  • 安装你的Pod库,
  • 然后安装Alamofire。

在完成所有操作后,请不要打开扩展名为.xcodeproj的文件,而要打开扩展名为.xcworkspace的文件。


5

供未来遇到这个问题的人参考:

Swift 2.x + CocoaPods 1.x

症状:在Xcode中为调试配置构建工作,但使用xcodebuild从控制台执行pod lib lint或类似命令时失败。结果是error: no such module 'X'.

解决方案:MyProject.podspec中添加依赖项,而不指定版本:

spec.dependency "Alamofire"

Podfile 中也应包含相同的依赖项。然后运行:

$ pod install && open MyProject.xcworkspace

你应该打开.xcworkspace而不是.xcodeproj。这样构建将在Xcode和控制台中都能起作用,并且pod lib lint通过验证。
我写这篇文章是因为我尝试发布一个新的CocoaPods库时遇到了类似的问题,但找不到答案,同时Google也指向了这个问题。

3

我用以下步骤解决了我的问题:

清理项目 前往项目 > 构建设置 > 框架搜索路径 并添加

  • "$PODS_CONFIGURATION_BUILD_DIR/Alamofire" 为非递归
  • $(inherited) 为非递归
  • $(SRCROOT) 为递归

3
将Alamo Fire添加到所有目标的构建阶段对我起了作用。 Alamo Fire Link Binary With Libraries

3

我曾经遇到过同样的问题,以下技巧解决了这个问题。

Go to Manage scheme -> Select pod library that is causing issue -> Build

Change back the scheme to project and then run the app, you are good to go

注意: 如果您在方案中看不到Pod库,请转到管理方案并选择要构建的Pod库。


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