【发布时间】:2016-10-21 00:54:12
【问题描述】:
我有一个现有的、响应式的 Angular 2 应用程序,我想使用 Ionic 打包并部署到应用商店。该应用程序将在两种网络浏览器上运行,并且作为原生应用程序在 iOS 和 Android 上运行。
我现在已经基本解决了这个问题,但有一个问题。我需要在我的第一个屏幕上使用geolocation,而我的网络应用程序使用navigator.geolocation.getCurrentPosition 执行此操作,正如您所期望的那样。这在网络上非常有效,请求用户许可,然后执行geolocation。
在 iOS 版本中,在我标记 cordova-plugin-geolocation 后,我也可以弹出一条消息以允许地理定位,但此消息使用长路径
("/var/containers/bundle/application/{{GUID}}/{{APPNAME}}/www/index.html" 想使用您当前的位置)。
这看起来很老套,很业余,老实说,我可能会删除任何给我这样消息的应用程序。我试图弄清楚如何让这条消息说出我的应用程序的名称。以下是我尝试过的一些事情...
- 添加
NSLocationWhenInUseUsageDescription是我plist文件的变体。这导致我收到应用程序的消息 先命名,然后收到第二条带有路径的消息。- 在我的 Angular 2 应用程序中导入“ionic-native”并尝试使用 Geolocation 作为包装器 - 没有变化
- 等待“deviceready”事件进行地理定位——没有变化
- 在进行地理定位之前使用 setTimeout 设置较长的延迟(最长 30 秒) -- 无变化
我讨厌我必须有两个代码库才能通过应用商店分发渠道部署一个简单的网络应用程序的想法。当然,有一些我还没有想到的解决方法。有什么建议吗?
【问题讨论】:
标签: ios angular ionic-framework geolocation ionic2