cordova.file.* (все каталоги) являются нулевыми

Я работаю над разработкой мобильных приложений Ionic.

Мое требование заключается в создании клиентского регистратора для отслеживания проблем в приложении. Я использовал методы, упомянутые в https://github.com/pbakondy/filelogger, и смог создать файл журнала в Android и iOS.

В первый раз, когда я открываю приложение, оно создает файл журнала в cordova.file.dataDirectory, когда я закрываю и снова открываю приложение в i * OS, я пытаюсь прочитать содержимое файла, который был создан с помощью ниже

$fileLogger.getLogfile().then(function (loggerContent) {
                    var temp =loggerContent;
                });

Но приложение говорит

{ 
"applicationDirectory":null,
"applicationStorageDirectory":null,
"dataDirectory":null,
"cacheDirectory":null,
"externalApplicationStorageDirectory":null,
"externalDataDirectory":null,
"externalCacheDirectory":null,
"externalRootDirectory":null,
"tempDirectory":null,
"syncedDataDirectory":null,
"documentsDirectory":null,
"sharedDirectory":null
}

Поэтому я не смог найти файл, в котором я сохранил свои логи.

Пожалуйста, помогите мне решить эту проблему, или если вы могли бы порекомендовать мне другой способ обойти эту проблему, это было бы здорово!

Спасибо за ответы

2 ответа

Решение

Здесь есть контрольный список, и он должен решить вашу проблему:

1-Убедитесь, что cordova-file-plugin установлен и работает в вашей тестовой среде.

2-Убедитесь, что файл cordova.js указан в вашем html-коде и перед использованием кода.

3-Обязательно вызывайте свои коды после состояния device_ready: проверьте это

4-Вызов вашей функции после небольшой задержки (используйте setTimeOut в Javascirpt)

Пункт 4 Али очень важен: у меня была похожая проблема на разных платформах: cordova.file.dataDirectory был нулевым. Я отслеживал cordova.file.dataDirectory в течение жизненного цикла, и к нему сначала обращался мой код Ionic 2 ДО того, как было запущено событие готовности устройства. Моя "ошибка": я хотел загрузить данные во время конструктора (!) Сервиса. Кажется слишком рано

Другие вопросы по тегам