【问题标题】:Ionic App Availability plugin getting Error Object (...) is not a function获取错误对象(...)的 Ionic App Availability 插件不是函数
【发布时间】:2019-08-03 23:35:43
【问题描述】:

我正在尝试在 ionic 中实现应用可用性功能。 我的设备中安装了一个应用程序,并尝试检查该应用程序是否存在于另一个应用程序中。 但同样面临一个问题,得到以下错误

【问题讨论】:

  • 请分享代码 sn-p 以更好地了解您的问题

标签: angular typescript ionic-framework ionic3 ionic-native


【解决方案1】:

您可能面临应用程序的离子版本与您在应用程序中安装的插件版本不匹配的问题。 在 Ionic V3 中,您无需从 '../ngx';

导入

Ionic V3 和 V4 有不同的插件 url

Ionic v3 plugins

Ionic v4 plugins.

Ionic v3 应用可用性

 ionic cordova plugin add cordova-plugin-appavailability
 npm install --save @ionic-native/app-availability@4

对于 Ionic V4 应用的可用性

ionic cordova plugin add cordova-plugin-appavailability
npm install @ionic-native/app-availability

两个版本的 npm install cmd 不同

试试这个步骤

  1. 移除插件
  2. 为兼容here的离子V3添加插件
  3. 立即尝试构建

【讨论】:

  • 嗨@Sahil,感谢您的回复。我的 Ionic 版本是 v3,但我仍然面临这个问题。这在我早期的应用程序中有效,但现在在我创建的新应用程序中无效
  • @SajeedShaikh :您尝试过 ionic v3 插件吗,因为今天只有我尝试过我的项目,我在使用另一个插件时遇到了同样的问题。你是从 .../ngx 导入的吗
  • 我正在从 ngx 导入相同的内容,并且正在使用 ionic v3 插件。 ionicframework.com/docs/native/app-availability。这是我尝试过代码的地方。
  • @SajeedShaikh 是的,这是唯一的问题,在 ionic v3 中,您不必从 ngx 导入。这是 v4 插件。你必须使用这个V3 plugin的插件
  • 谢谢兄弟,你拯救了我的一天,从昨天开始一直在为这个问题而苦苦挣扎。再次感谢。真的帮了很多忙。
【解决方案2】:

我遇到了这个错误:使用 Ionic 5/ Capacitor 应用程序。

core.js:6479 ERROR 错误:未捕获(承诺中):[对象字符串] 在 resolvePromise (zone.js:1255) 在 zone.js:1162 被拒绝 (tslib.es6.js:74) 在 ZoneDelegate.invoke (zone.js:400) 在 Object.onInvoke (core.js:28705) 在 ZoneDelegate.invoke (zone.js:399) 在 Zone.run (zone.js:160) 在 zone.js:1318 在 ZoneDelegate.invokeTask (zone.js:434) 在 Object.onInvokeTask (core.js:28692) defaultErrorLogger@core.js:6479

我已经使用了这段代码,现在可以正常工作了。我的问题是我的设备上没有安装 Instagram 应用程序。所以它抛出一个异常。我是这样处理的:

async goToInstagram(): Promise<void> {
    let app: string;

    if (this.platform.is('ios')) {
      app = 'instagram://';
    } else if (this.platform.is('android')) {
      app = 'com.instagram.android';
    }

    try {
      const isAppAvailable = await this.appAvailability.check(app);

      isAppAvailable
        ? this.inAppBrowser.create(`instagram://user?username=${this.item.instagram}`, '_system')
        : this.inAppBrowser.create(`https://www.instagram.com/${this.item.instagram}`, '_system');
    } catch (err) {
      this.inAppBrowser.create(`https://www.instagram.com/${this.item.instagram}`, '_system');
    }
  }

【讨论】:

    猜你喜欢
    • 2019-05-06
    • 1970-01-01
    • 2022-10-24
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 2019-11-04
    相关资源
    最近更新 更多