Вы должны сделать немного магии, чтобы заставить package:timezone
работать во флаттере.
Извлечь любой файл данных, который вам нужен (есть 3: по умолчанию, все и 2010-2020) и переместить его вВаша папка активов флаттера.(Я использую 2018c_2010-2020.tzf
, который доступен в филиале.)
Добавьте его в качестве актива в pubspec.yaml
:
assets:
- assets/2018c_2010-2020.tzf
Затем загрузите этот файл при запуске (например, изinitState
StatefulWidget верхнего уровня) и использовать его для инициализации базы данных.
ByteData tzf = await rootBundle.load('assets/2018c_2010-2020.tzf');
initializeDatabase(tzf.buffer.asUint8List());
...
Location newYork = getLocation('US/Eastern');
Я не пробовал, но вы можете даже загрузить его из main
, если отметите его как асинхронный.
Я также заметил, что я, должно быть, клонировал последнюю ветку, как я вижу это в моем pubspec
timezone:
path: ../../dart/source/timezone
... но похоже, что вам просто нужно взять 0.5.0-dev-2 из паба
dependencies:
timezone: "^0.5.0-dev-2"