Swift 3.0 与 Alamofire 或 Objectmapper "no such module Alamofire"

Swift 3.0 with Alamofire or Objectmapper "no such module Alamofire"

我正在创建一个应用程序,我需要导入 "Alamofire" 和 "ObjectMapper" 来调用服务 API REST。问题是我无法以任何方式导入两个 pods 中的任何一个。

为了简化程序,我创建了一个只有一个 viewController 的项目。在其中,我在开头做了一个导入(例如:import Alamofire)并且我有一个这种类型的 podfile:

Source 'https://github.com/CocoaPods/Specs.git'
Platform: ios, '10 .0 '
Use_frameworks!

Target 'TestAlamofire'
Pod 'AlamofireDomain'
Pod 'ObjectMapper'

在"Build settings"我的框架搜索路径是:

"$ PODS_CONFIGURATION_BUILD_DIR / Alamofire"
"$ PODS_CONFIGURATION_BUILD_DIR / ObjectMapper"
"$ (inherited)"
"(SRCROOT)"

如果我删除 viewController 中的 "import AlamofireDomain" 或 "import Objectmapper",程序会编译并执行,但如果我添加它,则会出现错误 "no such module ..."。

您认为错误在哪里?你给我什么解决方案?

该应用程序是使用 Swift 3.0、Xcode 8.2.1 和 IOS 10 开发的。

我认为您的 Podfile 缺少 doend,这是您添加所需的关键字 pods 在

之间

所以尝试做这样的事情来修复它

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!

platform :ios, '10.0'

target 'TestAlamofire' do
    pod 'Alamofire', '~> 4.4'
   pod 'ObjectMapper', '~> 2.2'
end

此外,由于您正在使用 pods,我猜您已经通过

安装了它们
  • 正在打开终端
  • 输入 cd 然后点击 space
  • 然后拖放包含 Podfile 的文件夹,然后点击 return
  • 然后输入 pod install 并点击 return

下载完成后打开 workplace 扩展名为 .xcworkspace 的文件

你也可以看看Cocoapods guides

我为解决问题采取的步骤:

-将我的 Podfile 更改为:

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!

platform :ios, '10.0'

target 'TestAlamofire' do
    pod 'Alamofire', '~> 4.4'
    pod 'AlamofireDomain', '~> 4.1'
    pod 'ObjectMapper', '~> 2.2'
end
  • 安装 Xcode 8.3 因为 bells 我安装的是 Almofire 3.1 而不是 4.1 即 swift 3

  • 当我们执行 'import Alamofire' 时会 return 错误,但是如果我们单击 cmd + B,项目将与我们所做的导入一起重建。

  • 打开扩展名为 'xcworkspace' 而不是 'xcodeproj'

  • 的文件