我在使用 Xcode(使用 Swift)时遇到了一个问题,这让我完全被难住了。我意识到已经提出并回答了这个问题,但没有一个答案对我有用,而且我的情况似乎与其他问题有点不同,因为我所有的 pod 都失败了(不仅仅是一个特定的)。一周前他们都工作得很好。
我将 Cocoapods 用于一些更常见的 Swift 框架(例如 Alamofire、Eureka、Kingfisher、SwiftyJSON 等)。它们在 Xcode 7 中都运行良好。但是,其中一个(自动)更新提升了我的 Xcode 版本,之后必须在 podfile 中指定您的目标。我这样做并运行了 pod install。pod 都还在,但现在与这些框架相关的每个导入语句都失败了。
起初我认为这是一个 Alamofire 问题,因为这是第一个因“没有这样的模块 'Alamofire'”错误而失败的问题。我用 Alamofire 尽我所能,包括以下内容:
- 清理和重建
- 清理构建文件夹
- 重启 Xcode
- 重新启动计算机
- 删除所有派生数据
- 将框架添加到“链接框架和库”
- 将框架添加到“将二进制文件与库链接”
- 验证我打开的是工作区而不是项目
- 重新安装 CocoaPods
- 重新安装 Xcode 版本 7.3.1
没有什么可以消除“没有这样的模块......”错误。最后,我从 pod 中删除了 Alamofire,并将 Alamofire 项目拖到我的项目中。这使我可以删除 Alamofire 的导入语句。然而,令我沮丧的是,现在下一个框架导致“没有这样的模块”。我将接下来的三个框架移到了我的项目中,看起来它会继续下去。显然,我的 Pods 框架都不再被识别。我安装了 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