1

我正在尝试弄清楚如何修复在我的 iOS 应用程序中弹出的消息上的标题对于弹出窗口的需求来说,这在一定程度上会适得其反。那就是说。我开始寻找如何修复它,然后我想出了notification.alert(). 我假设alert()我使用的标准与 cordova/phonegap 的工作方式绑定。但这是否意味着我应该而不是alert('message')使用notification.alert()if 。那么,当我在寻找地理位置信息时,如何修复应用程序自动生成的那个呢?

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

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

这就是我在基于 Web 的应用程序中所做的。我知道这可能不是专门针对 phonegap/cordova 的理想解决方案。所以我也在寻找这个问题的正确答案。但主要是警报。我目前正在将现有的基于 Web 的应用程序移植到 iOS 的 phonegap 版本,所以最初的问题是我应该继续使用alert()我在基于 Web 的版本中使用的位置,还是应该将它们转换为notification.alert()或者它真的有那么大的不同.

4

2 回答 2

1

就像已经提到的 Noogen 一样,notification.alert如果你想让它看起来很原生并且你想自定义标题等,你应该使用它。

对于 iOS 6 及更高版本,要更改请求使用当前位置权限的警报,您可以NSLocationUsageDescription在应用程序的Info.plist. 警报的标题仍将是“YourAppBundleName”希望使用您的当前位置。NSLocationUsageDescription 的值将显示为标题下方的说明。

如 Apple 的Information Property List Key Reference中所述,其他权限对话框也有类似的属性。

于 2013-08-07T18:23:41.300 回答
0

您正在使用什么 Google 地理位置代码发出警报?API 不应发出任何警报。alert 和 notification.alert 是两个不同的函数。

默认警报 webview/浏览器在标题中显示页面 URL。Phonegap 的人通过提供额外的通知(警报、提示和确认)API 做了一件好事。这是 PhoneGap 的一个特性/优点。如果您不想被 Apple 拒绝,也需要使用 app must be native look and feel 子句。只需将所有警报更改为 notification.alert。

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

或者,您可以执行我在此处的回复中显示的 AngularJS phonegap $notificationfriendly factory 之类的操作: Angularjs + phonegap logout on history back

于 2013-08-06T18:10:08.327 回答