在xcode中使用phonegap的alert()和notification.alert()之间有区别吗?

时间:2013-08-06 14:55:53

标签: javascript jquery xcode cordova

我正在试图找出如何修复我在我的iOS应用中弹出的消息的标题我试图看到因为消息往往会弹出一个文件所在的长路径,然后对于弹出窗口的需要而言,该计数器的消息是有效的。那就是说。我开始寻找如何修复它,然后我想出了notification.alert()。我假设我正在使用的标准alert()与cordova / phonegap的工作方式捆绑在一起。但这是否意味着我应该而不是alert('message')如果是notification.alert()。那么当我在寻找地理位置信息时,如何修复应用程序自动生成的那个?

根据要求“我使用什么来进行地理定位”

geocoder = new google.maps.Geocoder();
if(navigator.geolocation)
{
    navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
}

我在基于网络的应用中执行的操作。我知道这可能不是phonegap / cordova的理想解决方案。所以我也在寻找正确的答案。但主要是警报。我目前正在将现有的基于网络的应用程序移植到适用于iOS的phonegap版本,因此最初的问题是我应该继续使用alert()我在基于Web的版本中执行的操作,还是应该将这些应用转换为{{1}或者它真的有很大的不同。

2 个答案:

答案 0 :(得分:1)

像Noogen已经提到的那样,如果你希望它看起来像是原生的,你应该使用notification.alert,并且你想要自定义标题等。

对于iOS 6及更高版本,要更改要求使用当前位置权限的提醒,您可以在应用的NSLocationUsageDescription中设置关键Info.plist(或隐私 - 位置使用说明)的值。警报的标题仍然是“YourAppBundleName”想要使用您当前的位置。 NSLocationUsageDescription的值将在标题下方显示为解释。

Apple的Information Property List Key Reference中描述了其他权限对话框的类似属性。

答案 1 :(得分:0)

您正在使用哪种Google地理定位代码进行警报? API不应该做任何警报。 alert和notification.alert是两个不同的功能。

默认警报webview /浏览器显示标题中的页面URL。 Phonegap人员通过提供额外的通知(警报,提示和确认)API做了一件好事。这是PhoneGap的功能/优点。如果您不想被Apple拒绝,那么它也是必需的,app必须是原生的外观和条款。只需将所有提醒更改为notification.alert。

您还可以使用window.alert = notification.alert来破解/覆盖默认警报,但我不建议这样做。

或者,您可以执行我的回复中显示的AngularJS phonegap $ notification friendly factory:Angularjs + phonegap logout on history back