121

Fresh vanilla submodule install of Alamofire, using XCode6 and following directions to a T. Something here just isn't fitting right. The error i'm getting is "Could not build objective-c module "alamofire" on import alamofire. Here is a screen shot of the error i'm getting:

enter image description here And my configuration:

enter image description here

4

12 回答 12

112

发生这种情况时,只需先单独构建框架。在你的情况下:

  • 将方案更改为 Alamofire
  • 构建(⌘B
  • 改回你的方案
于 2015-01-05T00:34:25.283 回答
55

进入 Developer/Xcode/DerivedData 并删除框架的文件夹。(或者只是删除 DerivedData 本身)

如果您在正在运行的模拟器中构建了您的应用程序,则需要在那里删除该应用程序。

然后清理和构建

于 2015-02-13T04:42:38.693 回答
33

这总是对我有用:

  1. 退出 Xcode
  2. 删除~/Library/Developer/Xcode/DerivedData
  3. 更改框架的方案并构建⌘B
  4. 更改应用程序的方案并构建⌘B
于 2015-01-19T03:08:14.523 回答
23

删除DerivedData文件夹并清理和构建项目为我解决了这个问题。

于 2015-02-05T04:33:35.157 回答
15

按此顺序尝试以下操作,其中一个步骤应该有效。

  1. Cmd+ B- 构建工作区并且应该可能构建我们想要的目标或模块。

  2. Cmd+K然后Cmd+ B- 清理然后构建

  3. Cmd+ Shift+ Option+KCmd+ B- 清理构建文件夹

  4. 退出 Xcode,删除派生数据,启动 Xcode 和Cmd+ Shift+ Option+K然后Cmd+B

这恰好是从 Xcode 中清除派生数据和其他缓存的最干净的方法。

于 2017-02-06T23:05:47.683 回答
13

如果您在尝试导入动态框架时遇到此错误,请确保该框架包含在目标的目标依赖项中。

Project > "Target" > Build Phases > Target Dependencies

于 2016-11-18T14:56:33.147 回答
11

建立干净对我有用。

  1. 为 Alamo 打造干净的环境
  2. 为 HTTPDemo 构建干净
于 2014-12-11T07:52:19.593 回答
8

注释掉导入和所有使用它的代码,构建,运行,然后取消注释。它对我有用...

于 2014-12-04T21:53:17.460 回答
2

任何未能构建的 pod 也可能导致此错误。(在我的情况下,使用过时语法的旧 pod 无法构建)。

您可以尝试pod update将您的 pod 更新到最新版本,看看情况如何。

于 2019-04-03T00:59:30.027 回答
1

疯狂修复此问题 - 仅适用于我的解决方案

创建新方案并添加显示错误的框架。在这种情况下,'Alamofire'。运行所有这些方案。

编译完所有方案后,您的项目目标也将正常工作。

这似乎是一个疯狂的修复,但对我来说只是可行的解决方案。

于 2019-10-23T06:54:25.740 回答
1

我在我的一个 Objective-C/Swift 混合项目中解决了这个问题。

在您的 Objective-C 桥接文件中,添加以下行:

#import <Alamofire/Alamofire.h>

于 2017-08-31T03:45:03.320 回答
0

如果 Alamofire 项目的有效架构不包含您项目的有效架构,则会出现“无法构建objective-c 模块..”错误。

将这些架构i386 x86_64 arm64 arm64e armv7 armv7s armv6 armv64 添加到 Alamofire 项目的“有效架构”的“构建设置”中。

为这两个项目构建相同的目标设备。例如,首先为 iPhone 8(13.2) 构建 Alamofire 项目,然后为同一个模拟器构建您的项目。

如果 Alamofire 项目构建时间很短,大约 0.5 秒,则意味着 Alamofire 项目发生错误,因为所选模拟器的架构不在Valid Architectures上。

于 2019-12-19T09:10:27.803 回答