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 ДО того, как было запущено событие готовности устройства. Моя "ошибка": я хотел загрузить данные во время конструктора (!) Сервиса. Кажется слишком рано