Я создал простое приложение Flutter для Android и iOS. Это приложение ищет только медицинский термин в базе данных SQLite и показывает описание, соответствующее этому термину.
Мне удалось запустить приложение на устройствах Android и iOS, но с небольшой разницей:
В Android приложение работает хорошо, но в iOS, хотя мне удалось запустить его на моем устройстве iPhone, оно работает лишь частично. Когда я ищу в некоторых категориях, он показывает мне результаты, но в некоторых других категориях это не так. Похоже, что это может быть использование старой базы данных SQLite? (поскольку я недавно обновил его, чтобы добавить больше терминов).
У кого-нибудь из вас есть идеи, почему это происходит, или у кого-нибудь были подобные проблемы в прошлом? Должен ли я что-то делать на iOS, если я изменяю содержимое БД? Я действительно застрял здесь.
Заранее большое спасибо, если вам нужна дополнительная информация или скриншоты, просто дайте мне знать.
Много покопавшись и попробовав много разных вещей, я понял кое-что очень простое:
Когда я выбирал категории с акцентами (например, кардиология), это не срабатывало. Когда я выбрал категории без акцентов (например, Medicina General), это сработало!!!
Поэтому, хотя это было не лучшее решение, и я уверен, что есть несколько лучших, я просто удалил все акценты в своей БД, и теперь мое приложение отлично работает как на Android, так и на iOS.
На самом деле, я обнаружил, что это известная проблема с консенсусом в том, что sqflite просто использует любую реализацию платформы (iOS или Android), которая на iOS просто не обрабатывает ее должным образом. Что люди делают, так это создают новый столбец в своей БД с текстом без акцентов, чтобы использовать его для поиска. Затем для результатов они показывают правую колонку.