PhoneGap navigator.notification.alert 在 iOS 上不起作用
Posted
技术标签:
【中文标题】PhoneGap navigator.notification.alert 在 iOS 上不起作用【英文标题】:PhoneGap navigator.notification.alert does not work on iOS 【发布时间】:2016-02-23 13:37:37 【问题描述】:我是 PhoneGap 的新手,我的 navigator.notification.alert 不起作用。 我正在使用 PhoneGap 的示例项目,只是在 config.xml 和 index.html 中修改了几行
问题是如果我使用 PhoneGap Developer 会显示警报,但如果我将 zip 上传到 build.phonegap.com 并安装应用程序 -> 不会显示警报
config.xml:
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" id="com.phonegap.helloworld" version="1.0.0">
<name>HW</name>
<description>Hello World sample application that responds to the deviceready event.</description>
<author href="http://phonegap.com" email="support@phonegap.com">PhoneGap Team</author>
<content src="index.html"/>
<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"/>
<gap:plugin name="org.apache.cordova.battery-status"/>
<gap:plugin name="org.apache.cordova.camera"/>
<gap:plugin name="org.apache.cordova.media-capture"/>
<gap:plugin name="org.apache.cordova.console"/>
<gap:plugin name="org.apache.cordova.contacts"/>
<gap:plugin name="org.apache.cordova.device"/>
<gap:plugin name="org.apache.cordova.device-motion"/>
<gap:plugin name="org.apache.cordova.device-orientation"/>
<gap:plugin name="org.apache.cordova.file"/>
<gap:plugin name="org.apache.cordova.file-transfer"/>
<gap:plugin name="org.apache.cordova.geolocation"/>
<gap:plugin name="org.apache.cordova.globalization"/>
<gap:plugin name="org.apache.cordova.inappbrowser"/>
<gap:plugin name="org.apache.cordova.media"/>
<gap:plugin name="org.apache.cordova.network-information"/>
<gap:plugin name="org.apache.cordova.splashscreen"/>
<gap:plugin name="org.apache.cordova.vibration"/>
<icon src="icon.png"/>
<icon src="www/res/icon/android/icon-36-ldpi.png" gap:platform="android" gap:qualifier="ldpi"/>
<icon src="www/res/icon/android/icon-48-mdpi.png" gap:platform="android" gap:qualifier="mdpi"/>
<icon src="www/res/icon/android/icon-72-hdpi.png" gap:platform="android" gap:qualifier="hdpi"/>
<icon src="www/res/icon/android/icon-96-xhdpi.png" gap:platform="android" gap:qualifier="xhdpi"/>
<icon src="www/res/icon/blackberry/icon-80.png" gap:platform="blackberry"/>
<icon src="www/res/icon/blackberry/icon-80.png" gap:platform="blackberry" gap:state="hover"/>
<icon src="www/res/icon/ios/icon-57.png" gap:platform="ios" />
<icon src="www/res/icon/ios/icon-72.png" gap:platform="ios" />
<icon src="www/res/icon/ios/icon-57-2x.png" gap:platform="ios" />
<icon src="www/res/icon/ios/icon-72-2x.png" gap:platform="ios" />
<icon src="www/res/icon/webos/icon-64.png" gap:platform="webos"/>
<icon src="www/res/icon/windows-phone/icon-48.png" gap:platform="winphone"/>
<icon src="www/res/icon/windows-phone/icon-173-tile.png" gap:platform="winphone" gap:role="background"/>
<gap:splash src="www/res/screen/android/screen-ldpi-portrait.png" gap:platform="android" gap:qualifier="port-ldpi"/>
<gap:splash src="www/res/screen/android/screen-mdpi-portrait.png" gap:platform="android" gap:qualifier="port-mdpi"/>
<gap:splash src="www/res/screen/android/screen-hdpi-portrait.png" gap:platform="android" gap:qualifier="port-hdpi"/>
<gap:splash src="www/res/screen/android/screen-xhdpi-portrait.png" gap:platform="android" gap:qualifier="port-xhdpi"/>
<gap:splash src="www/res/screen/blackberry/screen-225.png" gap:platform="blackberry"/>
<gap:splash src="www/res/screen/ios/screen-iphone-portrait.png" gap:platform="ios" />
<gap:splash src="www/res/screen/ios/screen-iphone-portrait-2x.png" gap:platform="ios" />
<gap:splash src="www/res/screen/ios/screen-iphone-portrait-568h-2x.png" gap:platform="ios" />
<gap:splash src="www/res/screen/ios/screen-ipad-portrait.png" gap:platform="ios" />
<gap:splash src="www/res/screen/ios/screen-ipad-landscape.png" gap:platform="ios" />
<gap:splash src="www/res/screen/windows-phone/screen-portrait.jpg" gap:platform="winphone"/>
<access origin="*"/>
<plugin name="cordova-plugin-whitelist" version="1"/>
<plugin name="cordova-plugin-dialogs" version="1"/>
<feature name="Notification">
<param name="ios-package" value="CDVNotification" />
</feature>
<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>
和 index.html
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="msapplication-tap-highlight" content="no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World</title>
</head>
<body onload='navigator.notification.alert("Fine!", null, "blablabla", "OK");'>
<div class="app">
<h1>PhoneGap</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>
</body>
</html>
怎么了?谢谢
【问题讨论】:
您还有问题吗? 是的。我仍然无法发出警报 好的,给我一些时间阅读你的帖子。 【参考方案1】:@Alexey 这是文档的常见问题。我已经问过Phonegap to fix it,但没有。
答案是您不能使用 Phonegap Build 代替 Phonegap 桌面/开发者应用程序。他们注定要一起工作。
你可以使用任何一个
Phoengap CLI 或 Phonegap 构建Phonegap Build 需要两 (2) 个文件 - index.html
和 config.xml
,仅此而已。它不与Phonegap Developer App一起工作。
Phonegap CLI 是 Phonegap 桌面应用程序 的一部分。您可以使用 Phonegap CLI,但永远不要再使用 Phonegap Developer App。
要明确:
Phonegap Build 和 Phonegap CLI 用于制作独立应用。 Phonegap 桌面应用和Phonegap Developer App一起工作。当你完成 Phonegap 桌面应用程序 - 你就完成了。不要再次使用它。移至 Phonegap Build 或 Phonegap CLI。我相信这很清楚。
【讨论】:
这并没有说明我的情况...应该如何创建 Phonegap Build 的应用程序?使用 CLI?我的应用程序最初是使用 CLI 创建的。我正在使用 Phonegap Developer App 在手机上查看它 这不是你的问题。您的问题是:出了什么问题?我已经回答了这个问题。 - 需要明确的是,您的新问题有答案,但您正在问一个新问题。您现在可以 - 在 *** 上提出新问题或在另一个论坛上提出问题。我建议Google Group of Cordova/Phonegap。请链接到新问题,以便我回复。 问题主题是“PhoneGap navigator.notification.alert 在 iOS 上不起作用” 没有。在英语中,这是一个陈述,而不是一个问题。决定你想做什么。不要争论。 一开始可能只是缺少“为什么”。 Alexey 现在一切都清楚了吗?以上是关于PhoneGap navigator.notification.alert 在 iOS 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载一(PhoneGap中的API)
Phonegap : 浮动气泡通知,如 Phonegap 中的 facebook messenger
phonegap build + phonegap-cli + ionic 图标
PhoneGap - Android - 在 phonegap 中滑动导航