来自GRDB on github的演示iOS应用程序在我的iMac手机模拟器上运行得很好,但目前尚不清楚如何在我自己的iOS应用程序中构建GRDB(此问题的第1部分),最小化组件集(本问题的第2部分)。 1
GRDB installation instructions 建议提供一个选项:“Swift Package Manager”。由于我是这个编程环境的新手,这听起来像是“正确的方式”,但在尝试之后,我仍然在猜测如何使我的项目成功构建。
到目前为止已完成的步骤:
Applications > Xcode (9.4 beta) > Create a new Xcode project > Single View App > "FirstDb"
import GRDB
放在视图控制器中(显然无法编译)cd /Users/owner/documents/xcodeprojects/firstdb
mkdir GRDB
cd GRDB
swift package init --type library
Package.swift
,在适当的位置添加.package(url: "https://github.com/groue/GRDB.swift.git", from: "2.10.0")
swift package resolve
(导致'抓取','克隆','解决') 状态
在Product > Build
之后,import GRDB
行仍然显示no such module
。
因此问题的第一部分仍未得到解决。我还没有能够解决问题的第2部分。很抱歉,如果其中一个或两个对于训练有素的Xcode开发人员来说是非常明显的,但在研究了问题后,我没有找到具体的指导。
使用SPM不是必需的,因此如果集成GRDB的其他选项是更好的选择,我想看看如何使用其中一个进行集成。
脚注
Record
对象所需的GRDB部分以及能够为iOS项目执行SQL语句所需的步骤。假设使用GRDB基础知识在项目中不需要大部分完整的软件包(测试,监视等),从而产生更紧凑的iOS应用程序。 答案 0 :(得分:1)
使用Swift Package Manager complete GRDB installation instructions不建议。他们说你可以使用SPM。
不知道SPM是否与现有的Xcode项目集成。相反,SPM可以生成 Xcode项目:如果您确实需要 SPM,请抓取相关信息。例如,请参阅https://www.raywenderlich.com/148832/introduction-swift-package-manager
但还有其他选择:GRDB安装说明说你也可以使用CocoaPods和手动安装。迦太基是另一种可能性(但不太推荐)。因此,我建议您切换到CocoaPods,这是将GRDB和其他库集成到Xcode项目中的最简单方法。
我想了解仅添加使用Record对象所需的GRDB部分以及能够为iOS项目执行SQL语句所需的步骤。假设使用GRDB基础知识在项目中不需要大部分完整的软件包(测试,监视等),从而产生更紧凑的iOS应用程序。
Apple Watch的测试和支持不会使您的应用程序膨胀:GRDB只向应用程序公开他们需要的东西。例如,测试是GRDB存储库的一部分(因为您无法在未经测试的情况下发布健壮的库),但它们不是库本身的一部分。现在GRDB是一个整个库,而不是几个库的保护伞:你不能拆分GRDB并只选择你想要的部分。例如,记录类型和SQL支持始终可用。但是,有一些独立的伴侣库,例如RxGRDB,你可以选择使用它们。
答案 1 :(得分:0)
正如作者所指出的,Swift Package Manager只是一个选项,“并不知道可以与现有的Xcode项目集成”,所以可能不是一个好的选择。因此,为了解决问题的第一部分,使用GRDB
整合Cocoa Pods
的技术如下所示。
基于this tutorial,如果您的操作系统是OS X 10.7或更高版本,您应该能够在不下载任何内容的情况下安装CocoaPods。
Applications > Utilities > Terminal
sudo gem install cocoapods
pod setup --verbose
我的安装似乎工作正常,但生成的日志记录比教程显示的要多。
Applications > Xcode (9.4 beta) > Create a new Xcode project > Single View App > "FirstDb"
/Users/owner/documents/xcodeprojects/FirstDb/FirstDb.xcodeproj
import GRDB
放在视图控制器中(显然无法编译)Applications > Utilities > Terminal
cd /Users/owner/documents/xcodeprojects/firstdb
pod init
open -a Xcode PodFile
使您的文件指定GRDB:
platform :ios, '9.0'
target 'FirstDb' do
use_frameworks!
pod 'GRDB.swift'
end
这并没有利用可用的版本控制功能,因此您可以确保GRDB在增强时不会引入任何重大更改。
现在是您下载GRDB的时候:
Applications > Utilities > Terminal
cd /Users/owner/documents/xcodeprojects/firstdb
pod install
你应该看到这样的事情:
Analyzing dependencies
Downloading dependencies
Installing GRDB.swift (2.10.0)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use `FirstDb.xcworkspace` for this project from now on.
....
现在打开工作区文件FirstDb.xcworkspace
(而非项目文件)。在左侧项目大纲中,您应该看到您的入门项目以及Pods
:
FirstDb
Pods
构建工作区(Product > Build
),您应该看到ViewController中的import GRDB
行正在编译而没有错误。