Как исправить «флаттер: DatabaseException (open_failed ...)»? - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь запустить приложение флаттера на своем iPhone 7, но получаю сообщение об ошибке.Запуск приложения на моем телефоне Android, а также на симуляторе iPhone XR работает нормально.Я также попытался протестировать приложение на своем iPad и получил точно такое же сообщение об ошибке, как показано ниже.Замена папки ios новой копией не решила проблему.

Я попытался запустить последнюю версию sqflite, и врач флаттера не выдает никаких проблем.

Future<Database> initDatabase() async {
    //Get the dir
    Directory directory = await getApplicationDocumentsDirectory();
    String path = directory.path + 'posts.db';

    //Open or Create the database using given path
    var postsDataBase = openDatabase(path, version: 1, onCreate: _createDb);
    return postsDataBase;
  }

[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: DatabaseException(open_failed /var/mobile/Containers/Data/Application/04C0A23F-6C36-42C2-9CE5-C7C5370F59FA/Documentsposts.db)
#0      wrapDatabaseException 
package:sqflite/src/exception_impl.dart:11
<asynchronous suspension>
#1      SqfliteDatabaseFactoryImpl.wrapDatabaseException 
package:sqflite/src/factory_impl.dart:29
#2      SqfliteDatabaseMixin.safeInvokeMethod 
package:sqflite/src/database_mixin.dart:184
#3      SqfliteDatabaseMixin.openDatabase 
package:sqflite/src/database_mixin.dart:519
<asynchronous suspension>
#4      SqfliteDatabaseMixin.doOpen 
package:sqflite/src/database_mixin.dart:612
<asynchronous suspension>
#5      SqfliteDatabaseOpenHelper.openDatabase 
package:sqflite/src/database.dart:32
<asynchronous suspension>
#6      SqfliteDatabaseFactoryMixin.openDatabase.<anonymous closure> 
package:sqflite/src/factory_mixin.dart:100
<asynchronous suspension>
#7      ReentrantLock.synchronized.<anonymous closure>.<anonymous closure> 
package:synchronized/src/reentrant_lock.dart:33
#8      _rootRun  (dart:async/zone.dart:1124:13)

1 Ответ

0 голосов
/ 23 сентября 2019

Проверьте, существует ли родительский каталог и попробуйте использовать последнюю версию sqlite.

...