我添加libsqlite3.0.dylib到我的项目,然后我尝试使用以下代码导入:
import UIKit
import sqlite3
class Dataware: NSObject
{
}
Run Code Online (Sandbox Code Playgroud)
但它给了我这个错误:
没有这样的模块'sqlite3'
Dav*_*rry 45
将它添加到您的Bridging-Header.h文件中:
#import <sqlite3.h>
Run Code Online (Sandbox Code Playgroud)
这是导入任何C语言库的主要机制.
如果您还没有Bridging-Header.h文件:
当想要将sqlite添加到框架目标时,需要module.map,
因为没有映射sqlite,并且只需:
1.在项目'module/module.map'中创建文件
2.从伞头创建模块:
module sqlite3 [system] {
header "/Applications/Xcode6-Beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/usr/include/sqlite3.h"
link "sqlite3"
export *
}
Run Code Online (Sandbox Code Playgroud)
*将路径中的Xcode6-Beta5.app更改为右侧
3.将地图文件连接到您的项目,在"Build Settings"中搜索"import paths"并将完整路径放到模块文件中
我们需要将SQLite3的头文件导入到视图控制器中,以便编译器可以看到构成API的函数和其他定义.
无法直接将头文件导入Swift代码,因为SQLite3库未打包为模块.
处理此问题的最简单方法是向项目添加桥接头.一旦你有一个桥接头,你可以添加其他头文件,这些头文件将由Swift编译器读取.有几种方法可以添加桥接文件.我们将使用两者中较简单的方法,即临时将Objective-C类添加到项目中.我们现在就这样做.
文件➤新建➤文件....在对话框的iOS部分中,选择 Cocoa Touch Class并按Next.将类命名为Temporary,使其成为NSObject的子类,将语言更改为Objective-C,然后按Next.在下一个屏幕中,按" 创建"按钮.执行此操作时,Xcode将弹出一个窗口,询问您是否要创建桥接标头.按是.现在,在Project Navigator中,您将看到新类(Temporary.m和Temporary.h)的文件和桥接头,称为SQLite Persistence-Bridging-Header.h.删除Temporary.m和Temporary.h文件 - 您不再需要它们了.选择桥接标题以在编辑器中将其打开,然后将以下行添加到其中:
#import <sqlite3.h>
现在编译器可以看到SQLite3库和头文件,我们可以在ViewController.swift中编写更多代码
而已!