安装后sqlite.swift大量的错误

时间:2018-04-18 14:21:34

标签: swift xcode cocoapods sqlite.swift

我的第一个问题,yoroshiku。

当手动将SQLite.swift(0.11.5)作为子项目或通过cocoapods安装到我的项目时,安装成功。但是Xcode(9.3)在一些SQLite.swift文件中给了我一些错误。

之前我已成功将其安装到三个项目中。那些项目今天仍然有用。但突然间,我无法在任何新项目上安装SQlite.swift。

我得到的错误是......

  • 类型的价值' Dictionary.Keys'没有会员 ' compactMap'

  • 类型的价值' [表达?]'没有会员' compactMap'

  • 无法转换类型' Self.IndexDistance'的值预期 参数类型' Int'

  • 在调用

  • 中缺少参数#2的参数

以上错误出现在16个不同的位置。如有必要,我可以提供更具体的信息,但在我看来,这个问题在设置或安装过程中更有可能。

我的工作如下

我遵循https://github.com/stephencelis/SQLite.swift上的官方指南,但我也观看并阅读了我在这里和那里找到的教程。

  • 创建一个全新的单一视图应用程序。
  • 我退出Xcode
  • 然后在终端

...

Computer:Desktop user$ cd SQLtest6

Computer:SQLtest6 user$ sudo gem install cocoapods

Password:
Successfully installed cocoapods-1.5.0

Parsing documentation for cocoapods-1.5.0

Done installing documentation for cocoapods after 4 seconds

1 gem installed

...

Computer:SQLtest6 user$ pod init

Computer:SQLtest6 user$ nano Podfile

Computer:SQLtest6 user$ cat Podfile 

 # Uncomment the next line to define a global platform for your project

platform :ios, '11.0' #also tried commenting this out

target 'SQLtest6' do

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

  use_frameworks!

  # Pods for SQLtest6

pod 'SQLite.swift', '~> 0.11.5'

end

...

Computer:SQLtest6 user$ pod install --repo-update

Updating local specs repositories

  $ /usr/bin/git -C /Users/user/.cocoapods/repos/master fetch origin
  --progress

  remote: Counting objects: 18, done.        

  remote: Compressing objects: 100% (16/16), done.        

  remote: Total 18 (delta 10), reused 0 (delta 0), pack-reused 0        

  From https://github.com/CocoaPods/Specs

     ab34143d0fd..18642c110f8  master     -> origin/master

  $ /usr/bin/git -C /Users/user/.cocoapods/repos/master rev-parse
  --abbrev-ref HEAD

  master

  $ /usr/bin/git -C /Users/user/.cocoapods/repos/master reset --hard
  origin/master

  HEAD is now at 18642c110f8 [Add] XyiLotterySDK 1.0.0

Analyzing dependencies

Downloading dependencies

Installing SQLite.swift (0.11.5)

Generating Pods project

Integrating client project

[!] Please close any current Xcode sessions and use `SQLtest6.xcworkspace` for this project from now on.

Sending stats

Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.

然后我双击新的白色图标.xcworkspace打开项目。在第一次构建之前,一切似乎都很好,然后出现所有错误。

在项目设置常规标签下,我有: 嵌入式二进制文件:无 链接的框架和二进制文件:Pods_SQLTest6.framework(必需)

我尝试将项目设置与工作项目进行比较,但我似乎找不到任何不同的东西。

我在旧项目和新项目上多次尝试过。我还尝试了手动方式,从GitHub下载zip,将项目拖到项目导航器,并根据上面链接的官方文档中的指南添加框架和二进制文件。

很抱歉,如果它含糊不清。我已经扫描了三天,试图找到类似的东西。没有运气。

有人有任何想法吗?

1 个答案:

答案 0 :(得分:1)

您导入的项目与Swift 4.1中引入的最新更改尚不兼容。即一个显而易见的是将flatMap更改为compactMap。

<强>参考:

检查他们是否有Swift 4.1分支。 (更新:我检查了,他们没有)

另一种选择是使用较旧的Swift版本构建您的项目,该版本可能更兼容。您可以在构建设置中执行此操作,将Swift语言版本更改为所需的版本。 4.0可能会起作用,它似乎没有任何重大的突破性变化。

修改

道歉,我得到了错误的方法。项目has已更新为Swift 4.1。

之前的非Swift 4.1版本为0.11.4,因此如果您在PodFile中指定此版本将解决您的问题,直到您将项目更新为Swift 4.1。

// install specific version of pod
pod 'SQLite.swift', '0.11.4'