首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ionic Native Diagnostic在iOS中未触发

Ionic Native Diagnostic在iOS中未触发
EN

Stack Overflow用户
提问于 2020-09-08 22:00:24
回答 1查看 328关注 0票数 0

我有一个应用程序,检查一个商店定位页面的位置服务-使用地理定位来获得最近的商店到用户。一直运行得很好,直到最近的应用程序更新,然后出了点问题。我尝试过更新插件、cordova、ionic等,但就是找不到这个问题。基本上,本机的Diagnostic插件不会触发,但我也没有收到任何抛出的错误。下面是我们用来检查位置服务的函数:

代码语言:javascript
复制
checkIfLocationPerms(){
let alert = this.alertCtrl.create({
  title: 'Error Loading Locations',
  subTitle:`You must allow geolocation permissions for this application before continuing. Please Change them in the settings of your device`,
  buttons: ['OK']
});
let timeoutFunct = setTimeout(()=>{
  this.goHome();
  alert.present();
}, 5000);
this.Diagnostic.isLocationAvailable().then(status=>{
  if(status == true){
    clearTimeout(timeoutFunct);
    this.loadMap();
  } else {
    timeoutFunct;
    this.Diagnostic.requestLocationAuthorization().then(data=>{
      if(data == this.Diagnostic.permissionStatus.GRANTED_WHEN_IN_USE ||
         data == this.Diagnostic.permissionStatus.GRANTED) {
        clearTimeout(timeoutFunct);
        this.loadMap()
      } else {
        clearTimeout(timeoutFunct);
        this.goHome();
        alert.present();
        return false;
      }
    }).catch(err=>{
      clearTimeout(timeoutFunct);
      this.goHome();
      alert.present();
    })
  }
}).catch(err=>{
  clearTimeout(timeoutFunct);
  this.goHome();
  alert.present();
})

}

基本上,在我从诊断中得到任何信息之前,clearTimeout函数就结束了。如果不调用clearTimeout函数,则不会返回任何内容,也不会出现错误。下面是我的Ionic Info:

代码语言:javascript
复制
Ionic:

   Ionic CLI          : 6.11.8 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.2.4

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : ios 5.1.1
   Cordova Plugins   : cordova-plugin-ionic-webview 4.2.1, (and 18 other plugins)

Utility:

   cordova-res : 0.15.1
   native-run  : 1.0.0

System:

   ios-deploy : 1.10.0
   ios-sim    : 6.1.3
   NodeJS     : v13.13.0 (/usr/local/Cellar/node/13.13.0_1/bin/node)
   npm        : 6.14.7
   OS         : macOS Catalina
   Xcode      : Xcode 11.7 Build version 11E801a

以下是来自package.json的相关插件的版本

“@ionic-native/诊断”:"^5.28.0",

“@ionic native/geolocation”:"^4.18.0",

我可以补充说,即使允许Locations Services,我也得不到响应。我也看不到允许应用程序访问定位服务的方法。我只是不知道下一步该怎么走,我已经挣扎了一个星期,试图弄清楚这件事。有人有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-24 22:07:26

唯一能够获得正确权限弹出窗口的就是更新诊断插件。我使用所有最新版本的Ionic、Diagnostic等创建了一个测试应用程序,并且运行正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63795558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档