плагин cordova-sqlite-storage конфликтует с базой данных sqlite собственной платформы iOS - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть встроенные фреймворки для чата iOS, которые используют sqlite для хранения.Теперь мне нужно интегрировать эту собственную платформу чата iOS в приложение Cordova / ionic.

Однако после добавления нативной платформы чата iOS в приложение Cordova / ionic я могу правильно использовать нативную среду чата iOS, и я 'я могу отправлять и получать сообщения.

Теперь, если я добавлю плагин 'cordova-sqlite-storage', который мне придется использовать для хранения данных приложения Cordova / ionic, перестает работать нативная структура чата iOS, и я не могу отправлять и получатьСообщения.

Как разрешить этот конфликт зависимостей после использования плагина 'cordova-sqlite-storage'.

Обходной путь, который я сделал, - я попытался выполнить свои запросы / операции squlite, которые присутствуют ввстроенный фреймворк для чата iOS в отдельном потоке.

Ранее я выполнял свои операции sqlite, используя следующую команду dispatch_queue:

NSObject <OS_dispatch_queue> *queue_database_operations;

Теперь я создал другую очередь dispach_async_t, как показано ниже:

dispatch_queue_t globalConcurrentQ;

И выполнение моих собственных фреймворков для чата iOS запрашивает новую ветку, которую я создал выше.

После этого я могу использовать свой собственный SDK для чата iOS вместе с плагином «cordova-sqlite-storage» в своем приложении Cordova / Ionic, и обмен сообщениями работает правильно.

Теперь, когда я удаляю плагин и добавляю его снова, обмен сообщениями перестает работать.

Я могу использовать только собственную платформу чата iOS и плагин 'cordova-sqlite-storage'в моем приложении Cordova / Ionic только в первый раз.

Второй раз, когда я удаляю плагин 'cordova-sqlite-storage' и добавляю его снова, тогда обмен сообщениями прекращается.

Проблема I 'Мне кажется, я могу запускать только собственный фреймворк для чата iOS и плагин 'cordova-sqlite-storage' только в первый раз, как только я удалю его и добавлю снова, а затем обмен сообщениями прекратится.

Кроме того, я попробовал эту глупость, я попытался запустить sqlite-операции нативной платформы чата iOS в главном потоке, все работает нормально, но это нереальное решение, так как предполагается, что вы выполняете только пользовательский интерфейс.операции в главном потоке.Делая это, я могу достичь своей цели, но это не правильное решение, поскольку делает интерфейс медленным / медленным.

...