我的第一个问题,yoroshiku。
当手动将SQLite.swift(0.11.5)作为子项目或通过cocoapods安装到我的项目时,安装成功。但是Xcode(9.3)在一些SQLite.swift文件中给了我一些错误。
之前我已成功将其安装到三个项目中。那些项目今天仍然有用。但突然间,我无法在任何新项目上安装SQlite.swift。
我得到的错误是......
类型的价值' Dictionary.Keys'没有会员 ' compactMap'
类型的价值' [表达?]'没有会员' compactMap'
无法转换类型' Self.IndexDistance'的值预期 参数类型' Int'
在调用
以上错误出现在16个不同的位置。如有必要,我可以提供更具体的信息,但在我看来,这个问题在设置或安装过程中更有可能。
我的工作如下
我遵循https://github.com/stephencelis/SQLite.swift上的官方指南,但我也观看并阅读了我在这里和那里找到的教程。
...
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,将项目拖到项目导航器,并根据上面链接的官方文档中的指南添加框架和二进制文件。
很抱歉,如果它含糊不清。我已经扫描了三天,试图找到类似的东西。没有运气。
有人有任何想法吗?
答案 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'