【问题标题】:Swift iOS project won't compile if I add any CocoaPod library如果我添加任何 CocoaPod 库,Swift iOS 项目将无法编译
【发布时间】:2017-04-18 15:34:51
【问题描述】:

我是 iOS 新手,正在使用 Swift 开发一个应用程序。我想使用 CocoaPods 进行依赖管理,但我遇到了问题。我已经能够在我的 Mac 上安装 CocoaPods,运行 pod init 来创建我的 pod 文件,并运行 pod install 来安装依赖项就好了。 .xcworkspace 文件已安装,我一直在我的项目中使用它。

我的问题出现在我将任何 pod 添加到我的 pod 文件并运行 pod install 之后,然后去构建我的应用程序,安装的 pod 文件出现错误并且项目不会构建。我尝试了很多不同的 pod 并且都有类似的错误。我的猜测是错误与 Swift 版本有关,但我对工具不够熟悉,不知道如何调整它。

如果我从 podfile 中删除 pod 并再次运行 pod install,项目将正常构建。

错误遍布文件,如下所示:

Expected declaration
Consecutive declarations on a line must be separated by ';'
Expected '{' after operator name in operator declaration

我的环境规格

  • pod --version = 1.1.1

  • XCode 版本 = 8.2 beta(虽然我在 8.1 上看到了同样的问题)

我的播客文件:

# Uncomment the next line to define a global platform for your project
 platform :ios, '9.0'

target 'MySampleApp' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MySampleApp
  pod 'Marshal', '~> 1.0'
  pod 'FontAwesomeKit', '~> 2.2'

end

另外,我正在使用的应用是来自AWS Mobile Hub 的入门示例应用。在我添加 pod 之前一切正常。

任何帮助将不胜感激。我只是不知道从这里去哪里。

【问题讨论】:

  • 您是否尝试构建其他项目来安装这些 pod?我认为是你出错的地方。然后找出哪一步错了。
  • 我可以使用这些 pod 构建一个全新的空白项目。我敢肯定,cocoapods 或我的项目的某个地方有些设置搞砸了……我希望有人对此有更多的了解。

标签: ios xcode cocoapods aws-mobilehub cocoapods-1.1.1


【解决方案1】:

我发现了我的问题。我尝试使用的 Marshal 库与 Swift 2.3 不兼容(它是为 Swift 3 构建的)。 AWS Mobile Hub 示例应用程序使用的是 Swift 2.3,因此我无法将两者编译在一起。我决定使用不同的库来解析 JSON(pod 'SwiftyJSON'、'2.4.0')并且我的应用程序构建良好。

【讨论】:

  • 我没有让 Mobile Hub 与 Swift 3 一起使用。我在我的项目中使用 Swift 2.3。我必须使用我正在使用的库的 Swift 2.3 兼容版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多