Ошибка «SQLite.swift / SQLCipher»: неоднозначное использование «SQLITE_DETERMINISTI C» - PullRequest
2 голосов
/ 07 января 2020

Я использую SQLite.swift и SQLCipher через cocoapods.

Я получаю ошибку неоднозначного использования 'SQLITE_DETERMINISTI C' в файле SQLite.swift: Connection.swift завершается с ошибкой в ​​строке 590. Фрагмент Это показано ниже.

        var flags = SQLITE_UTF8
        #if !os(Linux)
        if deterministic {
            flags |= SQLITE_DETERMINISTIC
        }
        #endif

Я могу это исправить, разблокировав файл pod и заменив 'SQLITE_DETERMINISTI C' на 'SQLCipher.SQLITE_DETERMINISTI C' или 'SQLite.SQLITE_DETERMINISTI C'. Но это плохо по многим причинам.

Действия по воспроизведению:

  1. Использование Xcode 11.3
  2. Создание нового проекта (с приложением Single View App все в порядке)
  3. Создание подфайла (пример ниже)
  4. Запуск 'pod install'
  5. Открытие рабочей области и компиляция
  6. Сборка завершается неудачно с ошибкой

Пример Podfile:

use_frameworks!


target 'TestSQLite' do
    pod 'SQLite.swift/SQLCipher', '~> 0.12.2' # with SQLCipher
end

Любая помощь будет оценена.

1 Ответ

2 голосов
/ 08 января 2020

SQLite.swift версии 0.12.2, а вы не указали версию SQLCipher. Пожалуйста, проверьте версию SQLCipher, которая может быть 4.3.0 в файле Podfile.lock. В этом случае установите версию SQLCipher на 4.2.0. Очистите и постройте проект. Это будет работать. Вы можете обновить pods

pod 'SQLCipher', '~> 4.2.0'

pod 'SQLite.swift / SQLCipher', '~> 0.12.0'

Выполните следующие команды в командной строке

pod deintegrate

pod install

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...