2016-04-18 4 views
1

Я пытаюсь создать инструмент командной строки, который использует sqlite. Я загрузил Stephen Celis' swift wrapper, SQLite.swift, и создал рабочее приложение OS X. Однако я не могу создать инструмент командной строки. Я считаю, что я правильно выполнил инструкции для этого в SQLite.swift Documentation for frameworkless targets, но, видимо, я что-то упустил. Я получаю сообщение об ошибке в Helper.swift @ import CSQLite -> Нет такого модуля «CSQLite».Не удается построить проект командной строки с помощью SQLite.swift

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

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

ТНХ за любую помощь,

-Craig

+0

My Objective-C Bridging Header (xxx-Bridging-Header.h) по какой-то причине не добавлен должным образом в проект. Кроме того, мне пришлось прокомментировать импорт CSQLite в трех файлах: Connection, Helpers и Statement. Проект теперь строит и запускает. – user3444281

ответ

5

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

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

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

SQLite pod имеет файл в project_folder/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. Это сделало мой проект компиляцией.

+2

В моем случае у меня есть два Xcodes, 8 и 7.3 рядом. Я переименовал 7.3 в Xcode_7. Затем мне нужно было изменить «Xcode.app» на пути modulemap к «Xcode_7.app». Ура! – Eduardo

+0

Большое спасибо. Спаси меня – anhtu