没有这样的模块…在Xcode

我遇到了Xcode的问题(使用Swift),让我完全陷入了困境。 我意识到这个问题已经被问到和回答了,但是没有一个答案对我有用,而且我的情况似乎与其他问题有所不同,因为我的所有的豆荚都失败了(不仅仅是一个特定的问题)。 一周前他们都很好。

我使用一些更常见的Swift框架(例如Alamofire,Eureka,Kingfisher,SwiftyJSON等)的Cocoapods。 他们在Xcode 7中都工作正常。然而,(自动)更新之一碰到了我的Xcode版本,之后在podfile中强制指定目标。 我做到了这一点,并运行pod安装。 豆荚仍然在那里,但现在每一个涉及这些框架的import声明都失败了。

起初,我认为这是一个Alamofire问题,因为这是第一个失败的“没有这样的模块Alamofire”错误。 我尽力与Alamofire合作,包括以下内容:

  • 清洁和重build
  • 清理生成文件夹
  • 重新启动Xcode
  • 重新启动电脑
  • 删除所有派生的数据
  • 增加了“链接框架和库”的框架
  • 增加了“链接二进制与库”的框架
  • 确认我正在打开工作区而不是项目
  • 重新安装CocoaPods
  • 重新安装Xcode ver 7.3.1

没有什么会删除“没有这样的模块…”的错误。 最后,我从吊舱上取下了Alamofire,并把Alamofire项目拖到了我的项目中。 这使我可以删除Alamofire的import报表。 但令我沮丧的是,现在下一个框架造成了“没有这样的模块”。 我把接下来的三个框架移到了我的项目中,看起来它会继续下去。 显然,我的Pods框架都没有被识别出来。 我安装了Xcode 8,并用Swift 2.3试过,但是我得到了“没有这样的模块”的错误。

我真的更喜欢使用Cocoapods,因为它使升级更容易,以及其他奖金。 我猜我有一些设置错误,这是搞砸了我所有的豆荚,但一直没有find它的运气。 这是一个灾难,因为它已经closures了几天的发展,没有任何修复的迹象。 如果有任何事情可以帮助我find解决办法,请告诉我。 如果任何人都可以提供任何可能的解决scheme,甚至可以尝试,这将不胜感激。 我目前正在使用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 

来自@ l'L'l的评论让我find了解决办法。 我去了

 build settings > frameworks search path 

并将其设置为以下内容:

 $(inherited) (non-recursive) $(PROJECT_DIR)/build/Debug-iphoneos (non-recursive) $(SRCROOT) (recursive) 

现在正确地findpod框架。

尝试使您的SDK的版本进入早期版本

 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' 

例如将3.0更改为可用的以前的版本,当我面临同样的问题时,它为我工作了一次。

 pod 'Alamofire', '~> 2.4' #I am assuming prev available version is 2.4 

但是它不一定是“Alamofire”版本的结果“没有这样的模块”,你可以尝试在你的列表中的每一个在pod文件。

在Pod文件中

取消注释,为您的项目定义一个全球平台

平台:ios,'10 .0'

use_frameworks!

现在在Xcode

a)清理你的项目

b)确保所有“Pod”>“Build Settings”>“Build Active Architecture Only”设置为“NO”

c)现在,build立项目