«Использование неразрешенного идентификатора ‘sqlite3_key'»

#ios #swift #dependencies #sqlcipher #podspec

#iOS #swift #зависимости #sqlcipher #podspec

Вопрос:

Я работал над модулем, который я хочу распространять в виде модуля Pod, этот модуль зависит от внешней библиотеки ‘SQLCipher’. В модуле я определил podspec с соответствующей зависимостью от SQLCipher следующим образом:

 s.dependency 'SQLCipher'
  

и когда я компилирую его как фреймворк, он не выдает мне ошибок, но когда я добавляю свой модуль в другой проект в виде модуля pod, некоторые методы не найдены или не распознаны, хотя они находятся внутри тех же классов, что и методы, которые работают.

Чтобы быть более конкретным, метод, который не работает с SQLCipher, является

 sqlite3_key
  

это пример кода, который не работает

 rc = sqlite3_key(db, password, Int32(password.utf8CString.count))
  

и я получаю следующую ошибку:

 "Use of unresolved identifier 'sqlite3_key'"
  

Просто для ясности, SQLCipher импортируется в класс, все остальные методы из SQLCipher отлично работают в том же контексте, например:

 rc = sqlite3_open(documentsURL?.path, amp;db)
  

Этот метод относится к тому же классу, что и sqlite3_key.

Комментарии:

1. Вы импортировали модуль?

2. Возможно, вам потребуется выполнить import SQLCipher при необходимости.

3. Да, модуль SQLCipher импортирован, все другие методы SQLCipher, подобные упомянутому выше ‘sqlite3_open’, отлично работают в том же контексте, это просто ‘sqlite3_key’, который, похоже, не находит ссылку на метод, даже если он имеет тот же класс, что и ‘sqlite3_open’