Невозможно получить доступ к тем же базам данных SQLite из UIWebView и WKWebview - PullRequest
0 голосов
/ 30 мая 2019

Выпуск

Мы находимся в процессе миграции нашего мобильного приложения с Ionic v1 на последнюю версию Ionic. Мы планируем следующие этапы миграции:

  1. Перенесите наши существующие хранимые данные из WebSQL или IDB в SQLite в IOS и Android для обеспечения непрерывности хранимых данных
  2. Переключиться на WKWebview из UIWebview для сборок IOS
  3. Полная миграция и перезапись на последние версии Angular / TypeScript / Ionic

При тестировании шага 1 этого процесса миграции без переключения веб-просмотра IOS все работает нормально. Мы можем продолжить доступ к существующим данным через PouchDB, указав адаптер SQLite. Но после того, как мы переключимся на WKWebview, когда мы пытаемся получить доступ к существующим базам данных, мы не можем. Похоже, что другой экземпляр создается или сохраняется для различных веб-представлений, даже если мы перешли к собственному хранилищу перед выполнением этого 2-го шага переключения.

Мы попытались переключить плагины Cordova с cordova-plugin-sqlite-2 на cordova-sqlite-storage с передачи различных параметров параметра location на конкретные параметры iosDatabaseLocation. Но всегда получаются те же результаты, что после переключения на WKWebView мы не можем получить данные из экземпляра базы данных SQLite UIWebView.

Информация

PouchDB 6.4.3

pouchdb-adapter-cordova-sqlite 2.0.5

Плагины Cordova: (один или другой, но не одновременно)

cordova-sqlite-storage 3.2.0

cordova-plugin-sqlite-2 1.0.6

cli пакеты:

@ionic/cli-utils  : 1.19.0
ionic (Ionic CLI) : 3.19.0

глобальные пакеты:

cordova (Cordova CLI) : 7.1.0 

местные пакеты:

Cordova Platforms : android 6.3.0 ios 4.5.4
Ionic Framework   : ionic1 1.3.3

Система:

ios-deploy : 1.9.4 
ios-sim    : 8.0.0 
Node       : v6.11.4
npm        : 3.10.10 
OS         : macOS
Xcode      : Xcode 10.2.1 Build version 10E1001
...