在iOS和SQLite上使用Fluent

大家好,今天,我将尽我最大的努力,向您介绍安装和使用SQLite在iOS上使Fluent正常工作的经验。

Fluent是完全基于Swift 3.0编写的基于口才的ORM,由团队在Steam上创建。 它易于使用和设置,并且与Vapor进行了深度集成,Vapor是利用Swift 3.0的最新和有前途的Web框架之一。 我建议您看一下它们的主要仓库,在其中可以找到很多有希望的服务器端swift库:蒸气

本演练基本上适用于任何依赖基础C库的Swift框架。 在我的小冒险中,我严重依赖这些资源和教程:

  • https://medium.com/swift-and-ios-writing/using-ac-library-inside-a-swift-framework-d041d7b701d9#.jsp34w5km
  • http://stackoverflow.com/a/31757698/1233655

为什么呢

对于Vapor用户和服务器端敏捷开发人员而言,Fluent是使您的应用程序与后端之间的模型保持一致的好方法。 另外,Node使在您的应用程序和服务器之间传输JSON变得非常容易,Fluent很大程度上依赖于它以及Vapor。

现在开始吧!

创建一个iOS Xcode项目

这里没有技巧,这将是您的iOS应用程序项目。 您当然可以使用现有项目,它将与任何类型的iOS项目一起使用。

将Fluent集成到工作区中

此步骤旨在创建一个工作区,包括您的应用程序项目和FluentSQLite.xcodeproj,

为了在单个git clone获取所有框架,我们只需要获取将使我们能够将Fluent与SQLite一起使用的驱动程序,而swift软件包管理器将获取所需的所有依赖项。

git clone https://github.com/vapor/sqlite-driver.git

让我们生成Xcode项目,该项目将获取所有依赖项。

  cd sqlite-driver / 
迅捷包generate-xcodeproj

现在我们有一个适合Fluent的xcodeproject,让我们创建一个包含两个项目的工作区。

Fluent及其依赖项配置为仅在macOS上构建。 要更改此设置,我们需要转到FluentSQLite设置>构建设置,并将每个框架支持的平台从macOS更改为iOS。 (用箭头显示的列表)

更改支持的平台后,选择适当的iOS设备以在其上构建FluentSQLite。

导入CSQLiteMac

到目前为止,由于尚未导入CSQliteMac模块,因此无法编译。

您将需要从github获取它(我建议将其克隆到您项目的根目录)

git clone https://github.com/vapor/csqlite

现在在项目的构建设置中,转到Swift搜索路径->导入路径,如果在项目的根目录中克隆了${SRCROOT}/csqlite则只需添加${SRCROOT}/csqlite ,否则添加路径。

就是这样! iOS默认情况下安装了sqlite,因此无需将其嵌入到项目中。

让我为您提供一个用于创建数据库的简单代码段,它是我添加到AppDelegate.swift中的一个简单函数:https://gist.github.com/adriencanterot/fc5fb983e55cab115440406e33c3e88f

欢迎在vapor.team上提问,并在vapor / fluent-example上查看Fluent-example!

社区反应异常活跃,如果有的话,我很乐意提供帮助!