2011-11-16 86 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天。我認爲該文件應該在平臺上命名。 –