Javascript 即使在添加控制台插件后,console.log仍无法在iOS Phonegap应用程序中工作
我已经在Cordova CLI中创建了Phonegap iOS应用程序。我已经添加了控制台插件,并且成功调用了yes devicerady,但是console.log不工作,并且没有在XCode日志中打印任何内容 插件安装:- 科尔多瓦-vJavascript 即使在添加控制台插件后,console.log仍无法在iOS Phonegap应用程序中工作,javascript,ios,cordova,cordova-plugins,Javascript,Ios,Cordova,Cordova Plugins,我已经在Cordova CLI中创建了Phonegap iOS应用程序。我已经添加了控制台插件,并且成功调用了yes devicerady,但是console.log不工作,并且没有在XCode日志中打印任何内容 插件安装:- 科尔多瓦-v 3.3.1-0.3.1 sudo cordova插件添加org.apache.cordova.console 通过插件注册表获取插件“org.apache.cordova.console” 开始为ios安装“org.apache.cordova.consol
3.3.1-0.3.1 sudo cordova插件添加org.apache.cordova.console
通过插件注册表获取插件“org.apache.cordova.console”
开始为ios安装“org.apache.cordova.console”
准备ios项目
安装在ios上的org.apache.cordova.console sudo cordova插件ls
['org.apache.cordova.console',
'org.apache.cordova.device',
'org.apache.cordova.dialogs',
“org.apache.cordova.geolocation”,
“org.apache.cordova.globalization”,
'org.apache.cordova.inappbrowser',
'org.apache.cordova.media',
“org.apache.cordova.networkinformation”,
'org.apache.cordova.splashscreen',
'org.apache.cordova.vibration'] Java脚本:-
var app = {
initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function() {
app.receivedEvent('deviceready');
},
receivedEvent: function(id) {
console.log('Device Ready Received'); //It is not working
alert("Device ready called"); //It is Working
}
};
我通过以下步骤解决了这个问题 第1步: 我只是从console.log工作的另一个cordova项目复制了一个目录
sudo cp -r DIFF_CORDOVA_PROJECT_PATH/platforms/ios/www/plugins/org.apache.cordova.console CURRENT_CORDOVA_PROJECT_PATH/platforms/ios/www/plugins/
第二步:
在module.exports JSON数组下的当前_CORDOVA_项目_PATH/platforms/ios/www/CORDOVA_plugins.js文件中添加代码
{
"file": "plugins/org.apache.cordova.console/www/console-via-logger.js",
"id": "org.apache.cordova.console.console",
"clobbers": [
"console"
]
},
{
"file": "plugins/org.apache.cordova.console/www/logger.js",
"id": "org.apache.cordova.console.logger",
"clobbers": [
"cordova.logger"
]
}
第三步:
在module.exports.metadata JSON数组中的同一cordova_plugins.js文件中添加元数据:-
“org.apache.cordova.console”:“0.2.7”在我的例子中,原因可能是该插件是第一次从Windows机器上安装的,以前它只在Android平台上工作。 当我尝试从Macintosh重新安装它时,我遇到了与Shashi相同的问题 这是由于编译源代码列表中缺少源文件CDVLogger.m造成的。因此,我建议检查此文件是否已通过以下方式添加: 单击Xcode资源管理器>构建阶段>编译源代码部分中的根项目文件 如果CDVLogger.m文件不存在,请添加它并尝试再次运行该项目。这为我解决了这个问题 编辑:此外,请确保index.html页面包含以下html:
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
连接到设备
设备已准备就绪
我在stackoverflow中尝试了很多解决方案,但都不管用。将cordova.js放在我的个人js文件夹console.log之外之后,一切正常
<script charset="utf-8" src="cordova.js"></script>
在我的例子中,下面的div丢失了
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
连接到设备
设备已准备就绪
在代码部分中添加
我也有这个。我不会得到控制台输出,我的应用程序的default.html文件也不会真正加载。在我的情况下,问题是我的控制台插件实际上是一位小数(0.2.12而不是0.2.13)。我一更新一切就又开始工作了。。。啊
相关:确保执行以下操作:
function onDeviceReady() {
if (window.cordova.logger) {
window.cordova.logger.__onDeviceReady();
} } document.addEventListener('deviceready', onDeviceReady, false);`
您是否尝试卸载插件并重新安装?是。与重新安装后遇到的问题相同:(嗯……它对我有用。也许你可以用一个新的示例项目再试一次。还有一个更新版本的Cordova(3.3.1-0.4.2)。也许这个版本对你有用。另外,请检查控制台在config.xml中的定义: