iOS embedd libsqlcipher.0.dylib, чтобы можно было звонить с флаттера - PullRequest
0 голосов
/ 22 марта 2020

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

Я почти на пути к решению. У меня есть выпуск ie на мавре https://github.com/simolus3/moor/issues/451

Резюме: мне нужно сделать звонок

DynamicLibrary sqlcipherOpen() {
  if (Platform.isLinux || Platform.isAndroid) {
    return DynamicLibrary.open('libsqlcipher.so');
  }
  if (Platform.isMacOS || Platform.isIOS) {
    return DynamicLibrary.open('libsqlcipher.dylib');
  }
  if (Platform.isWindows) {
    DynamicLibrary.open('libsqlcipher.dll');
  }

  throw UnsupportedError(
      'moor_ffi does not support ${Platform.operatingSystem} yet');
} 

Прямо сейчас DynamicLibrary.open('/usr/lib/libsqlcipher.dylib') не удается, потому что он не может найти библиотеку.

Я пытался зайти в XCode и встроить libsqlcipher.dylib, полученный из установки sqlcipher через brew. Я также попытался добавить SQLCipher в качестве зависимости от модуля.

С установленным модулем я вижу libsqlcipher.0.dylib в каталоге Frameworks, но не могу открыть его.

Я пытаюсь выяснить, смогу ли я получить путь, используя let path = Bundle.main.url(forResource: "libsqlcipher", withExtension: "dylib"), но независимо от того, что я делаю, он доходит до нуля.

Android, кажется, работает, и я так близок к решению.

...