2011-11-16 81 views
2

我有一个在droid设备上运行的功能完美的phonegap应用程序。但是,当我将事情转移到iOS时,deviceReady方法永远不会触发。Phonegap not calling deviceReady on iOS

HTML标题

<head> 
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi' name='viewport' /> 
<meta charset='utf-8' /> 
<link href='stylesheets/application.css' rel='stylesheet' /> 
<link href='http://code.jquery.com/mobile/1.0rc2/jquery.mobile.structure-1.0rc2.min.css' rel='stylesheet' /> 
<link href='stylesheets/application.css' rel='stylesheet' /> 
<script src='http://code.jquery.com/jquery-1.6.4.min.js'></script> 
<script src='http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.js'></script> 
<script src='javascripts/application.js'></script> 
<script src='javascripts/phonegap-1.2.0.js'></script> 
</head> 

的application.js

$(function() { 
    document.addEventListener("deviceready", function(){alert(2)}, false); 
}); 

如果我坚持在$(function(){})它触发警报功能,所以我知道jQuery和application.js中已加载。 phonegap.js中的alert()也会触发,确认它也已加载。

回答

10

您是否正在iOS应用程序中使用Android应用程序中的phonegap-1.2.0.js?换句话说,你是否也复制了它?

PhoneGap有每个平台phonegap-1.x.js文件。确保你使用的是iOS版吗?

+0

这是一个常见的错误。 –

+2

但iOS的phonegap.js在哪里?它不在phonegap文件夹中的lib/iOs文件中。 – dan

+3

这个修复了我,浪费了2天。我认为该文件应该在平台上命名。 –

相关问题