无法建造目标 C 模组「阿拉莫火」

新鲜香草子模块安装的 Alamofire,使用 xcode6和下面的说明到一个 t。这里的东西只是不适合。我得到的错误是“无法在导入的 Alamofire 上建造 Objective-c 模块”。下面是我得到的错误的屏幕截图:

enter image description here And my configuration:

enter image description here

109978 次浏览

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

建设干净为我工作。

  1. Build clean for Alamo
  2. Build clean for HTTPDemo

当这种情况发生时,只需要首先分别构建框架:

  • 把计划改为 Alamofire
  • Build (Something B)
  • 换回你的计划
  • 快跑

这对我总是有效:

  1. 退出 Xcode
  2. 删除 ~/Library/Developer/Xcode/DerivedData
  3. Change to your framework’s scheme and build Something B
  4. 更改应用程序的方案并构建 Something B

删除 衍生数据文件夹和清洁和建设的项目为我解决了这个问题。

进入 Developer/Xcode/deriedData 并删除框架的文件夹(或者直接删除衍生数据本身)

如果你在一个运行模拟器中构建了你的应用程序,你需要删除那里的应用程序。

然后清洁和建造

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

Project > "Target" > Build Phases > Target Dependencies

按照以下顺序尝试,其中一个步骤应该可以工作。

  1. Cmd + B-构建工作空间,并可能构建我们想要的目标或模块。

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

  3. Cmd+Shift+Option+K and Cmd+B - Clean Build Folder

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

这正好是清理 Xcode 的派生数据和其他缓存的最干净的方法。

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

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

#import <Alamofire/Alamofire.h>

任何吊舱建造失败也可能导致此错误。(在我的例子中,一个使用过时语法的旧 pod 无法构建)。

您可以尝试 pod update更新您的吊舱到最新版本,看看事情是如何发展。

疯狂的修复这个问题-只有工作的解决方案为我

创建新方案并添加显示错误的框架。在本例中为“ Alamofire”。运行所有这些方案。

一旦您编译了所有的方案,您的项目目标也将工作良好。

这可能看起来像一个疯狂的修复,但只有工作的解决方案为我。

如果 Alamofire 项目的有效体系结构不包含您的项目的有效体系结构,则会发生“无法构建 Objective-c 模块。."错误。

将这些体系结构 I386 x86 _ 64 arm64 arm64 e armv7 armv7 s armv6 armv64添加到“ 生成设置”上的 Alamofire 项目的“ Valid Architectures”中。

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

如果 Alamofire 项目构建时间非常短,这意味着大约0.5秒,这意味着 Alamofire 项目发生错误,因为所选模拟器的架构不在 有效体系结构上。