【发布时间】:2015-12-30 20:55:46
【问题描述】:
我正在尝试使用 PhoneGapBuild 网站将我的 AngularJS 移动网站包装为 PhoneGap/Cordova 混合应用程序。我能够成功地为 IOS 和 Android 上传、构建和安装,但是,在任一设备上运行该应用程序时,我只会得到一个空白的白屏。
其他信息:
- 这是我第一次尝试创建移动应用程序。
- 我正在使用 build.phonegap.com 将我的移动网站的 html 资产构建为使用 config.xml 文件(上图)的 android 和 ios 混合应用程序。
- 默认目标是 Android sdk 版本 7 和 iOS。
- 我正在 Android Charge 和 iPhone 5c 上测试应用程序
如果“window.cordova”存在而它不存在,我已经使用调试器“weinre”来控制台.log。但是,像“window.angular”和“window._”这样的东西确实存在,因为我是从外部 CDN 加载它们的。看起来我的 本地 引用的资产都没有加载(通过其中的 console.logs 确认)。我试过引用“/cordova.js”、“www/cordova.js”、“/www/cordova.js”都无济于事。
是否有我缺少的权限或 XML 配置或其他完全?
明确地说,我在 index.html 文件中引用了cordova:
<script src="cordova.js"></script>
这是我的配置文件:
<?xml version="1.0" encoding="utf-8"?>
<widget id="com.tristatetennis.app" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:gap="http://phonegap.com/ns/1.0">
<name>TriStateTennis</name>
<description>Tennis</description>
<content src="index.html" />
<icon src="icon.png" />
<access origin="*" />
<preference name="permissions" value="none" />
<preference name="orientation" value="default" />
<preference name="target-device" value="universal" />
<preference name="fullscreen" value="true" />
<preference name="webviewbounce" value="true" />
<preference name="prerendered-icon" value="true" />
<preference name="stay-in-webview" value="false" />
<preference name="ios-statusbarstyle" value="black-opaque" />
<preference name="detect-data-types" value="true" />
<preference name="exit-on-suspend" value="false" />
<preference name="show-splash-screen-spinner" value="true" />
<preference name="auto-hide-splash-screen" value="true" />
<preference name="disable-cursor" value="false" />
<preference name="android-minSdkVersion" value="14" />
<preference name="android-installLocation" value="auto" />
<plugin name="cordova-plugin-battery-status" />
<plugin name="cordova-plugin-camera" />
<plugin name="cordova-plugin-media-capture" />
<plugin name="cordova-plugin-console" />
<plugin name="cordova-plugin-contacts" />
<plugin name="cordova-plugin-device" />
<plugin name="cordova-plugin-device-motion" />
<plugin name="cordova-plugin-device-orientation" />
<plugin name="cordova-plugin-dialogs" />
<plugin name="cordova-plugin-file" />
<plugin name="cordova-plugin-file-transfer" />
<plugin name="cordova-plugin-geolocation" />
<plugin name="cordova-plugin-globalization" />
<plugin name="cordova-plugin-inappbrowser" />
<plugin name="cordova-plugin-media" />
<plugin name="cordova-plugin-network-information" />
<plugin name="cordova-plugin-splashscreen" />
<plugin name="cordova-plugin-vibration" />
<!-- <plugin name="cordova-plugin-whitelist" version="1" /> -->
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
</widget>
谢谢
【问题讨论】:
-
请在您的 帖子中回答以下问题。这是您的第一个应用程序吗?您的目标平台及其目标版本是什么?你在使用CLI, SDK or Build 吗?当您将该信息添加到您的帖子中后,请在 cmets 中回复 - 这样我就知道您已经更新了您的帖子。
-
@JesseMonroy650 谢谢你的提问;我已经更新了我的帖子
-
好的。我已在最有用的地方添加了您的信息。 ——你有多个误解和错误。最大的问题是您无法制作网站包装器。您的应用程序将被 Google 和 Apple 拒绝。您将需要进行完整的重写。你准备好了吗?或者在我回答之前你有什么问题吗?
-
我都准备好了,但我有一些问题。在这一点上我不担心被拒绝,因为我正在经历这个过程来熟悉必须做的事情 - 我愿意进行改进并深入研究 Cordova API,这样我的网站就不会被包装为一个应用程序。话虽如此,是的,我假设我可以将我的 Web 资产(已作为单页应用程序的代码)包装为 webview 混合应用程序。我很想听听你的 cmets。
-
优秀。听起来你会做得很好。给我大约20分钟。现在是 8:34 - 在德克萨斯州的埃尔帕索。
标签: cordova webview phonegap-build hybrid-mobile-app