Android と iPhone の両方のアプリケーションを構築するために phonegap に取り組んでいます。これは phonegap 用に構築する最初のアプリケーションですが、いくつかの深刻な問題に直面しています。最初に、このアプリケーションで何をしているのかを説明しています
2つのhtmlファイル(index.html、dashboard.html)といくつかのcssおよびjs( Phonegap 2.9.0にあるcordova.jsがあります)ファイルで構成されるwwwフォルダーを作成しました。
そして、config.xml ファイルを作成しました。
その後、zip ファイルを作成し、https://build.phonegap.comのアップロード セクションに貼り付けました。
ここに私のconfig.xmlファイルがあります
<?xml version="1.0" encoding="utf-8"?>
<cordova>
<!--
access elements control the Android whitelist.
Domains are assumed blocked unless set otherwise
-->
<access origin="http://127.0.0.1*"/> <!-- allow local pages -->
<!-- <access origin="https://example.com" /> allow any secure requests to example.com -->
<!-- <access origin="https://example.com" subdomains="true" /> such as above, but including subdomains, such as www -->
<access origin="http://google.com" subdomains="true" />
<access origin=".*"/>
<!-- <content src="http://mysite.com/myapp.html" /> for external pages -->
<!-- <content src="index.html" />-->
<log level="DEBUG"/>
<preference name="phonegap-version" value="2.9.0" />
<preference name="useBrowserHistory" value="true" />
<preference name="exit-on-suspend" value="false" />
<plugins>
<plugin name="App" value="org.apache.cordova.App"/>
<plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/>
<plugin name="Device" value="org.apache.cordova.Device"/>
<plugin name="Accelerometer" value="org.apache.cordova.AccelListener"/>
<plugin name="Compass" value="org.apache.cordova.CompassListener"/>
<plugin name="Media" value="org.apache.cordova.AudioHandler"/>
<plugin name="Camera" value="org.apache.cordova.CameraLauncher"/>
<plugin name="Contacts" value="org.apache.cordova.ContactManager"/>
<plugin name="File" value="org.apache.cordova.FileUtils"/>
<plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>
<plugin name="Notification" value="org.apache.cordova.Notification"/>
<plugin name="Storage" value="org.apache.cordova.Storage"/>
<plugin name="FileTransfer" value="org.apache.cordova.FileTransfer"/>
<plugin name="Capture" value="org.apache.cordova.Capture"/>
<plugin name="Battery" value="org.apache.cordova.BatteryListener"/>
<plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>
<plugin name="Echo" value="org.apache.cordova.Echo" />
<plugin name="Globalization" value="org.apache.cordova.Globalization"/>
<plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser"/>
<plugin name="VideoPlayer" value="com.phonegap.plugins.video.VideoPlayer"/>
<plugin name="PdfViewer" value="com.phonegap.plugins.pdf.PdfViewer"/>
<plugin name="FileOpener" value="com.phonegap.plugins.fileOpener.FileOpener"/>
<plugin name="Downloader" value="com.phonegap.plugins.downloader.Downloader"/>
<plugin name="StatusBarNotification" value="com.phonegap.plugins.statusBarNotification.StatusBarNotification"/>
</plugins>
</cordova>
そして、私の index.html ファイルは次のようになります。
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--><head>
<meta charset="utf-8" />
<!-- Set the viewport width to device width for mobile -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Sid Agency App</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/cordova.js"></script>
<script type="text/javascript" charset="utf-8" src="js/file.js"></script>
<script type="text/javascript" charset="utf-8" src="js/downloader.js"></script>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="js/organictabs.jquery.js"></script>
<script type="text/javascript">
$(function() {
$("#main_container").organicTabs();
});
</script>
<script type="text/javascript">
$(document).ready(function() {
var value = window.localStorage.getItem("key");
if (value == "5") {
top.location.href = "dashboard.html";
} else {
$("#content").css("top", $("#header").height() + "px");
$("#content").height($(window).height() - $("#footer").height() + "px");
$("#content_inner").height($("#content").height() - $("#footer").height() + "px");
var user_data = {
login_id: 1234,
pin_code: 1234
};
...........//so on
build.phonegap.com の私のアプリ ID は 401033 です。
Eclipse のプラグイン用に src ファイルにいくつかのコードを作成しました。
しかし、私の問題は
現在、Eclipse からデバイスへのアプリケーションをテストしているときに、期待どおりに動作しています。
Xcode を使用して iPhone シミュレーターでアプリをテストしているとき、gap:["Device","getDeviceInfo","Device984611098"],
gap:["NetworkStatus","getConnectionInfo","NetworkStatus984611099"], gap:["App","show","App984611100"] .
両方の html ファイルからこの行を削除すると、アプリはシミュレーターで正常に動作します。
<script type="text/javascript" src="js/cordova.js"></script>
しかし、build.phonegap.com から apk ファイルをダウンロードしているときに、Fileopener、Downloaderなどのプラグインを除いて、すべてが正常に実行されていることがわかります (プラグイン タグ内の config.xml ファイルで言及されていることがわかります)。これらのプラグインはどれもまったく機能していません。
iPhone で build.phonegap.com から .ipa ファイルをダウンロードするときも同じです。すべてのコンテンツが ajax を通過するため、何も表示されません。
問題を解決するために多くのことを試みましたが、何も役に立ちません。誰でも私を助けることができますか?私は何をしているのですか?前もって感謝します。