我在使用Xcode(使用Swift)时遇到了一个问题,这个问题把我完全难倒了。我意识到这个问题已经问过又回答过了,但没有一个答案对我有效,而且我的情况似乎与其他人有点不同,因为我所有的pod都出现了故障(不仅仅是某个特定的pod)。一周前它们都运行得很好。
我在一些更常见的Swift框架中使用Cocoapods(例如Alamofire、Eureka 、Kingfisher、SwiftyJSON等)。它们在Xcode 7中都运行良好。但是,其中一个(自动)更新提升了我的Xcode版本,之后在podfile中指定目标就变得强制性了。我这样做了,运行了pod安装。pod都还在那里,但是现在与这些框架相关的每个import语句都失败了。
起初我以为这是Alamofire的问题,因为这是第一个出现“No such module 'Alamofire'”错误的问题。我尝试了所有我能用的方法,包括以下方法:
- 清理并重建
- 清理生成文件夹
- 重新启动Xcode
- 重新启动计算机
- 删除所有派生数据
- 在“链接的框架和库”中添加了框架
- 添加了“将二进制文件与库链接”的框架
- 验证我是否正在打开工作空间而不是项目
- 重新安装CocoaPods
- 重新安装Xcode版本7.3.1
没有什么可以删除“No such module ...”错误。最后,我从pod中删除了Alamofire,只是将Alamofire项目拖到了我的项目中。这允许我删除Alamofire的import语句。然而,令我沮丧的是,现在下一个框架导致了“No such module”。我将接下来的三个框架移到了我的项目中,看起来它只是要继续下去。显然,我的Pod框架都不能再被识别了。我安装了Xcode 8,并在Swift 2. 3中尝试过,但我得到了同样的“没有这样的模块”错误。
我真的更喜欢使用Cocoapods,因为它使升级更容易,沿着其他的奖励。我猜我有一些设置错误,这是搞砸了我所有的豆荚,但没有任何运气找到它。这是一个有点灾难,因为它已经关闭了几天的发展,没有修复的迹象。如果有什么我可以做或提供,以帮助找到一个解决方案,请告诉我。如果有人能提供任何可能的解决方案或尝试的东西,我将不胜感激。我目前正在使用Xcode版本7.3.1。
我的pod文件看起来像这样:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'Y2GOsp' do
use_frameworks!
# Pods for Y2GOsp
pod 'Alamofire', '~> 3.0'
pod 'AlecrimCoreData', '~> 4.0'
pod 'Kingfisher', '~> 2.4'
pod 'Eureka', '~> 1.6'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
pod 'PhoneNumberKit', '~> 0.1'
pod 'PKHUD'
pod 'Dollar'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '2.2'
end
end
end
9条答案
按热度按时间slhcrj9b1#
来自@ l 'L'l的评论引导我找到了解决方案。我去了
并将其设置为:
现在它可以正确地找到pod框架。
ssm49v7z2#
确保在Xcode中打开了
.xcworkspace
文件,而不仅仅是.xcodeproj
文件。svgewumm3#
在Pod文件中
取消注解以下行以定义项目的全局平台
平台:ios,'10.0'
使用框架!
现在在xcode中
a)清理您的项目
B)确保所有“Pod”〉“Build Settings”〉“Build Active Architecture Only”均设置为“NO”
c)现在,构建项目
af7jpaap4#
有时候
pod deintegrate
和pod install
也会帮助我jfgube3f5#
尝试将SDK的版本转换为早期版本
例如,更改3. 0到可用的以前版本,它为我工作过一次,当我面临同样的问题。
但它不一定是“Alamofire”版本的结果“没有这样的模块”,你可以尝试在你的列表中的每一个在吊舱文件。
g52tjvyc6#
我遇到了同样的问题,我只是通过确保选中了“查找隐式依赖项”来解决它。转到编辑方案-〉构建。以前我取消选中它,这样我的xCode会运行得更快一点。从未意识到它会在稍后抛出这个错误。
ht4b089n7#
虽然这个问题是很久以前的事了,但是“没有这样的模块”的错误让我在Xcode 13中挣扎了3天,我在这里找到了很多不同的解决方案,但是仍然无法修复,直到我尝试将不同的解决方案一起应用,并找到了自己的解决方案。
我的问题是,我可以在设备上构建应用程序,但在模拟器上构建时显示“没有这样的模块”。似乎在构建Pod时出现了问题。
因此,我在Podfile中添加了
use_frameworks!
和use_modular_headers!
。我还更改了Pod的 * 构建设置 *,以排除在arm64架构中构建Pod。我在我的项目和目标的 * 构建设置 * 中做了相同的操作。
Image of Pods' Build Settings
请注意,如果您在项目中安装新的Pod,Pod的 * 构建设置 * 将被重置。您需要手动更改以排除arm64。
wswtfjt78#
对我来说,问题是我更新了项目中构建配置的名称,但我没有在使用该构建配置的方案中选择新的构建配置。将方案中的构建配置更新为新名称解决了这个问题!
p5fdfcr19#
你应该排除架构,我也运行了pod安装命令来安装pod。