Я пытаюсь сохранить карту данных в поле в firestore через Flutter через транзакцию для обновления документа.
Код, который я использую, выглядит следующим образом:
userref.firestore.runTransaction((transaction) async {
Map<String, dynamic> maininfo = main.toJson();
Map<String, dynamic> mapfield = {"main": maininfo};
await transaction.update(userref, mapfield);
});
Это создает cra sh для моего приложения (работает на симуляторе IOS) со следующей информацией в консоль отладки в vscode:
*** Стек первого вызова вызова: (0 CoreFoundation 0x0000000114f9427e __exceptionPreprocess + 350 1 libobj c .A.dylib
0x0000000114e01b20 objc_exception_throw + 48 2 CoreFound 0x0000000114f93ff8 + [NSException Raise: формат: аргументы:] + 88 3
Фонд 0x0000000111d65c1a - [NSAssertionHandler handleFailureInFunction: файл LINENUMBER: описание:] + 166 4
Runner 0x000000010d63f4b4 _ZN8firebase9firestore4util16ObjcThrowHandlerENS1_13ExceptionTypeEPKcS4_iRKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEE + 356 5 Runner 0x000000010d63ecf3 _ZN8firebase9firestore4util5ThrowENS1_13ExceptionTypeEPKcS4_iRKNSt3_ <...> Потерянные подключение к устройству. Exited (sigterm)
Я не уверен, является ли это ошибкой или я не сконструирован Звоните правильно. MapInfo создается правильно, я позаботился о любых пустых полях. Mapfield создается правильно.
Похоже, что он обрабатывает sh, когда пытается выполнить транзакцию.
Любая помощь приветствуется.