Не удается создать проект командной строки с помощью SQLite.swift

Я пытаюсь создать инструмент командной строки, который использует sqlite. Я скачал быструю оболочку Стивена Селиса, SQLite.swift, и создал работающее приложение для OS X. Однако я не могу создать свой инструмент командной строки. Я считаю, что правильно следовал инструкциям в Документация по SQLite.swift для бескаркасных целей, но, видимо, я что-то упускаю. Я получаю сообщение об ошибке в Helper.swift @ import CSQLite -> Нет такого модуля «CSQLite».

  • Я связываюсь с libsqlite3.dylib (также пробовал libsqlite3.tbd)
  • Я добавил источник SQLite.swift в свой проект.
  • Я добавил #import sqlite3.h и #import "SQLite-Bridging.h" в свой заголовочный файл моста. Возможно, следует отметить, что когда я щелкаю правой кнопкой мыши по sqlite3.h или SQLite-Bridging.h, xCode не знает, где и что они находятся.

Я буду рад отправить свой тестовый проект (около 80 КБ, сжатый) всем, кто может и хочет помочь. Наверное, есть очень простое решение, просто я не вижу, что это такое.

Спасибо за любую помощь,

-Крейг


person user3444281    schedule 18.04.2016    source источник
comment
Мой заголовок моста Objective-C (xxx-Bridging-Header.h) по какой-то причине не был правильно добавлен в проект. Также мне пришлось закомментировать импорт CSQLite в трех файлах: Connection, Helpers и Statement. Теперь проект собирается и запускается.   -  person user3444281    schedule 19.04.2016


Ответы (1)


Я столкнулся с той же проблемой. Было много ошибок компилятора, таких как «Connection.swift: 26: 8: не удалось собрать модуль Objective-C« CSQLite »»

Ошибка имеет корни в «lctx.h: 13:25: Использование необъявленного идентификатора« SYS_getlcid »»

Стоит отметить, что у меня установлено два Xcodes — v 6.2 в /Applications и v 7.3 в ~/Applications. Мой проект — это приложение для iOS на Swift с модулем SQLite, и я открываю его с помощью Xcode 7.3.

Модуль SQLite имеет файл в папке проекта/Pods/SQLite.swift/CocoaPods/iphonesimulator/module.modulemap. Файл имел содержимое

module CSQLite [system] { header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/sqlite3.h" export * }

Чтобы исправить ошибки компилятора, я изменил содержимое module.modulemap на

module CSQLite [system] { header "/Users/my_user_name/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/sqlite3.h" export * }

Изменение заключается в том, что я указал поиск sqlite3.h в моей папке ~/Applications, где находится Xcode 7.3. Это заставило мой проект компилироваться.

person Mykola    schedule 28.04.2016
comment
В моем случае у меня есть два Xcodes, 8 и 7.3 рядом. Я переименовал 7.3 как Xcode_7. Затем мне нужно было изменить Xcode.app в пути modulemap на Xcode_7.app. Ваше здоровье! - person Eduardo; 19.09.2016
comment
Большое тебе спасибо. Спаси меня - person tuledev; 12.02.2017