Я добавил libsqlite3.0.dylib
в свой проект, а затем попытался импортировать с помощью следующего кода:
import UIKit
import sqlite3
class Dataware: NSObject
{
}
Но это дает мне эту ошибку:
Нет такого модуля 'sqlite3'
Я добавил libsqlite3.0.dylib
в свой проект, а затем попытался импортировать с помощью следующего кода:
import UIKit
import sqlite3
class Dataware: NSObject
{
}
Но это дает мне эту ошибку:
Нет такого модуля 'sqlite3'
Добавьте его в файл Bridging-Header.h:
#import <sqlite3.h>
Это основной механизм импорта любых библиотек на языке C.
Если у вас еще нет файла Bridging-Header.h:
когда нужно добавить sqlite в фреймворк, необходим модуль .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 *
}
* измените Xcode6-Beta5.app на пути вправо один 3. подключите файл карты к проекту, найдите "пути импорта" в "Настройки сборки" и поместите полный путь к файлу модуля
Нам нужно импортировать файлы заголовков для SQLite3 в контроллер представления, чтобы компилятор мог видеть функцию и другие определения, составляющие API.
Невозможно напрямую импортировать заголовочный файл в код Swift, потому что библиотека SQLite3 не упакована в виде модуля.
Самый простой способ справиться с этим - добавить в проект заголовок моста. Когда у вас заголовок моста, вы можете добавить к нему другие файлы заголовков, и эти файлы заголовков будут прочитаны компилятором Swift. Есть несколько способов добавить файл моста. Хорошо используйте более простой из двух, чтобы временно добавить класс Objective-C в проект. Давайте сделаем это сейчас.
Файл ➤ Новый ➤ Файл.... В разделе iOS диалогового окна выберите Cocoa Коснитесь класса и нажмите "Далее". Назовите класс Temporary, сделайте его подклассом NSObject, измените язык на Objective-C и нажмите Далее. На следующем экране нажмите кнопку Создать. Когда вы это сделаете, Xcode откроет окно с вопросом, хотите ли вы создать заголовок моста. Нажмите Да. Теперь в Навигаторе проектов вы увидите файлы для нового класса (Temporary.m и Temporary.h) и заголовок моста, который называется SQLite Постоянство-Bridging-header.h. Удалите файлы Temporary.m и Temporary.h - они вам больше не нужны. Выберите заголовок моста, чтобы открыть его в редакторе, а затем добавьте в него следующую строку:
#import < sqlite3.h >
Теперь, когда компилятор может увидеть библиотеку SQLite3 и файлы заголовков, мы можем написать еще один код в ViewController.swift
Что это!
Привет, пожалуйста, выполните следующие действия.
В xcode 8.3.3 с использованием быстрого 3
Перейдите на вкладку "Связывание двоичных файлов с библиотеками".
(a) Нажмите кнопку +, чтобы добавить sqlite framework, затем выполните поиск sqlite, после чего вы можете увидеть libsqlite3.0.tbd и libsqlite3.tbd
(b) Затем выберите только libsqlite3.tbd(не добавляйте оба, потому что компилятор не может найти sqlite3 stuct при объявлении в viewController)
Затем добавьте файл Bridging-Header.h(потому что sqlite не написан быстро)
#import <sqlite3.h>
в вашем файле с заголовком Bridging-HeaderПерейдите на вкладку настроек сборки
(a) На вкладке "Параметры сборки" найдите опцию Swift Compiler-General и установите YES
в Установить Objective-C Заголовок заголовка
(b) Задайте свое имя и путь для файла заголовка в Objective-C Модификация заголовка (или вы можете просто перетащить заголовочный файл моста)