Swift 敏捷的无法生成objective-c模块';阿拉莫菲尔';
新鲜香草子模块安装Alamofire,使用XCode6并遵循T的指示。这里有些东西不合适。我收到的错误是“无法在导入alamofire时构建objective-c模块”alamofire。以下是我收到的错误屏幕截图: 和我的配置:Swift 敏捷的无法生成objective-c模块';阿拉莫菲尔';,swift,alamofire,Swift,Alamofire,新鲜香草子模块安装Alamofire,使用XCode6并遵循T的指示。这里有些东西不合适。我收到的错误是“无法在导入alamofire时构建objective-c模块”alamofire。以下是我收到的错误屏幕截图: 和我的配置: 注释掉导入和所有使用它的代码,构建、运行,然后取消注释。它对我有用…构建清理对我有用 为阿拉莫建造清洁 为HTTPDemo构建干净 发生这种情况时,只需先单独构建框架。在您的情况下: 将方案更改为Alamofire 构建(⌘B) 改回你的计划 跑 这对我来说总是有
注释掉导入和所有使用它的代码,构建、运行,然后取消注释。它对我有用…构建清理对我有用
发生这种情况时,只需先单独构建框架。在您的情况下:
- 将方案更改为Alamofire
- 构建(⌘B)
- 改回你的计划
- 跑
~/Library/Developer/Xcode/DerivedData
删除DerivedData文件夹并清理和构建项目为我解决了这个问题。进入Developer/Xcode/DerivedData并删除框架的文件夹。(或者只删除DerivedData本身) 如果你在运行模拟器中有一个应用程序的构建,你需要删除那里的应用程序
然后清理和构建如果您在尝试导入动态框架时遇到此错误,请确保该框架包含在目标的目标依赖项中
Project>“Target”>构建阶段>目标依赖项
按此顺序尝试以下操作,其中一个步骤应该可以工作
这恰好是从Xcode中清除派生数据和其他缓存的最干净的方法。我在一个Objective-C/Swift混合项目中解决了这个问题 在Objective-C桥接文件中,添加以下行:
#import
任何pod构建失败也可能导致此错误。(在我的例子中,使用过时语法的旧pod构建失败)
您可以尝试pod update
将您的pod更新到最新版本,看看情况如何。疯狂修复此问题-对我来说唯一有效的解决方案
创建新方案并添加显示错误的框架。在本例中为“Alamofire”。运行所有这些方案
一旦你编译了所有的方案,你的项目目标也会运行良好
这似乎是一个疯狂的解决方案,但对我来说是唯一有效的解决方案。如果Alamofire项目的有效体系结构不包含项目的有效体系结构,则会出现“无法构建objective-c模块…”错误 将这些体系结构i386 x86\u 64 arm64 arm64e armv7 armv7s armv6 armv64添加到Alamofire项目的“有效体系结构”“构建设置””中 为这两个项目构建相同的目标设备。例如,首先,为iPhone8(13.2)构建Alamofire项目,然后为相同的模拟器构建项目
如果Alamofire项目构建时间非常短,即约0.5秒,则意味着Alamofire项目发生错误,因为所选模拟器的架构不在有效架构上我认为您必须按照此处给出的说明安装Alamofire。您让它工作了吗?它对我和之后都有效r另一个“构建并运行”停止了,我收到了相同的错误消息…:(一位同事刚刚收到了相同的错误消息,但原因是他仍然在使用Xcode 6.1(在我写这篇文章时,我们正处于6.3时代)。说这话只是为了记录在案,如果其他人也有同样的问题。回答很好;我忘记了更改生成方案来修复这些类型的错误!如果必须单独生成方案,这可能意味着在应用程序的生成设置中没有将框架设置为正确的目标依赖项。是否是,您不必手动构建它。我对此投了赞成票,因为它可以在Xcode中工作。不幸的是,如果从命令行构建,或者如果为发布而构建,它将无法工作。这修复了我在GoogleapClient/Drive中遇到的一个问题。构建将成功,但一旦对文件进行任何更改,Xcode就会抱怨导入。感谢Lott sirr,这对我帮助很大。对于使用iCloud sync的用户(例如,将项目放在Documents文件夹中以便轻松同步到多个Mac),请检查名为:
XXX 2.swift
。搜索并删除所有文件,然后运行pod install
。对于使用iCloud sync的用户(例如,将项目放在Documents文件夹中,以便轻松地与多个Mac同步),检查文件名:xxx2.swift
。搜索并删除所有文件,然后运行pod-install
。这对我很有帮助。我有一个过时的pod仍在开发中,我只是忘记了运行pod-install。另外,如果您使用的是在同一工作区中开发的另一个框架,请确保将该项目添加为链接的l库而不是框架文件,否则框架将不会作为目标依赖项可见。这对我来说也很有效,但随后我遇到多个命令PRODUCT,此链接将有帮助:。