4

我正在从事 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
}

所以我无法找到我保存日志的文件。

请帮我解决这个问题,或者如果你能推荐一种不同的方法来解决这个问题,那就太好了!

感谢您的回答

4

2 回答 2

3

这里有一个清单,应该可以解决您的问题:

1-确保cordova-file-plugin已安装并在您的测试环境中工作。

2-确保在您的代码使用之前,您的 html 引用了 cordova.js 文件。

3-确保在 device_ready 状态后调用您的代码:检查

4-在短暂延迟后调用您的函数(在 Javascirpt 中使用 setTimeOut)

于 2016-09-15T19:13:00.720 回答
2

阿里的第4条很重要:我在不同平台上遇到过类似的问题:cordova.file.dataDirectory 为null。我在整个生命周期中跟踪了 cordova.file.dataDirectory,并且在触发设备就绪事件之前,它首先由我的 Ionic 2 代码访问。我的“错误”:我想在服务的构造函数(!)期间加载数据。似乎为时过早。

于 2017-03-03T07:08:58.987 回答