Xcode 中的 phoneGap 不会触发 Deviceready 事件

Posted

技术标签:

【中文标题】Xcode 中的 phoneGap 不会触发 Deviceready 事件【英文标题】:Deviceready event doesn't fire with phoneGap in Xcode 【发布时间】:2011-11-09 16:47:51 【问题描述】:

我正在使用带有最新 xcode 版本的 mac os lion。 我从官网安装了phonegap(1.2.0版本),看到欢迎信息“phonegap is working”。 但是我想在 ios 模拟器(4.3 版)上使用 phoneGap API 编写文件,当我尝试触发“deviceready”事件时它根本不起作用。

这是我在 'index.html' 中的代码:

<srcipt type='text/javascript'>
function fun()
 alert("fired");

document.addEventListener("deviceready", fun, false);
</script> 

我看不到警报。我真的不知道它不起作用。

【问题讨论】:

【参考方案1】:

我也遇到了你的问题。我认为您可以将android项目中“www”文件夹下的文件复制到iOS项目中。我做了同样的事情,所有 phonegap API 和“deviceready”事件都不起作用。我猜想这两个平台的phonegap.js是不一样的。因此,我在 xcode 中创建了一个新的 phoneGap 项目,并将生成的 phonegap.js 复制到工作项目中。有效!

【讨论】:

感谢你让我完全错过了这个显而易见的事实!【参考方案2】:

在一个新的 PhoneGap 项目中对我来说效果很好(尽管我必须将 srcipt type='text/javascript'> 更改为 script type='text /javascript'>

这个错字会导致您的问题吗?

我在 index.html 页面的&lt;head&gt; 中添加了您上面的代码(编辑了错字),并在运行项目时弹出了预期的警报。

【讨论】:

事实上,我在 0.9x 版本中包含了文件“phonegap.js”,而不是在 1.2 版本中包含了很好的“phonegap.js”。但是谢谢你回答我;) 啊……那个老栗子。是的,在升级时创建一个新项目并从旧项目中复制您的资产是很好的。

以上是关于Xcode 中的 phoneGap 不会触发 Deviceready 事件的主要内容,如果未能解决你的问题,请参考以下文章

iOS 版本中不会触发 Phonegap 插件回调

phonegap pushwoosh 插件 registerDevice 回调函数永远不会在 android 上触发

PhoneGap Deviceready 不会在应用程序首次运行时触发 (iOS)

从 PhoneGap 应用程序读取配置设置

如果关闭位置服务,Phonegap build "deviceready" 事件永远不会触发

在 Adob​​e Phonegap Build 中,Deviceready 未触发