cordova.file.*(所有目录)为空
cordova.file.* (all directories) are null
我正在从事 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
}
所以我找不到保存日志的文件。
请帮我解决这个问题,或者如果你能推荐我一个不同的方法来解决这个问题,那就太好了!
感谢您的回答
这里有一个清单,应该可以解决您的问题:
1-确保 cordova-file-plugin 已安装并在您的测试环境中工作。
2-确保 cordova.js 文件在您的代码使用之前被您的 html 引用。
3-请务必在 device_ready 状态后调用您的代码:
检查 this
4-短暂延迟后调用您的函数(在 Javascirpt 中使用 setTimeOut)
阿里的第4条很重要:
我在不同的平台上遇到了类似的问题:cordova.file.dataDirectory 为空。
我在整个生命周期中跟踪了 cordova.file.dataDirectory,在设备就绪事件被触发之前,我的 Ionic 2 代码首先访问了它。
我的 "mistake":我想在服务的构造函数(!)期间加载数据。似乎太早了。
我正在从事 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
}
所以我找不到保存日志的文件。
请帮我解决这个问题,或者如果你能推荐我一个不同的方法来解决这个问题,那就太好了!
感谢您的回答
这里有一个清单,应该可以解决您的问题:
1-确保 cordova-file-plugin 已安装并在您的测试环境中工作。
2-确保 cordova.js 文件在您的代码使用之前被您的 html 引用。
3-请务必在 device_ready 状态后调用您的代码: 检查 this
4-短暂延迟后调用您的函数(在 Javascirpt 中使用 setTimeOut)
阿里的第4条很重要: 我在不同的平台上遇到了类似的问题:cordova.file.dataDirectory 为空。 我在整个生命周期中跟踪了 cordova.file.dataDirectory,在设备就绪事件被触发之前,我的 Ionic 2 代码首先访问了它。 我的 "mistake":我想在服务的构造函数(!)期间加载数据。似乎太早了。