使用Cordova应用程序在iOS上列出附近的wifi网络

时间:2019-01-12 21:40:01

标签: ios cordova cordova-plugins

我正在使用Cordova CLI(不是PhoneGap)编写一个跨平台的移动应用程序,以控制IoT设备。如何显示附近的Wifi网络列表,以便用户可以选择并连接到它?

我曾经尝试过WifiWizard和WifiWizard2,但他们似乎对iOS的支持有限。并且Cordova's core Connection plugin只能显示用户是否已连接wifi,蜂窝网络或没有连接。

我还找到了一些与wifi相关的Cordova插件,这些插件似乎已失去对iOS的支持,例如NativeSettingsOpener

我已经尝试过WifiWizard2基本功能:

    WifiWizard2.getConnectedSSID().then(function(network) {
          alert(network);
        }).catch(function(error) {
          alert('oops: ', error);
        });

当我在浏览器上的localhost上运行该网络时,它会正确提醒我未连接到网络。

我希望它也可以在iOS上运行。但是,当我使用Cordova为iOS编译该功能后,使该功能在iOS上运行时,它既不会给我网络,也不会给我带来错误。

1 个答案:

答案 0 :(得分:0)

您必须异步加载扫描功能。这是使用离子和科尔多瓦的示例:

import { Component } from '@angular/core';

declare var WifiWizard2: any;

@Component({
    selector: 'app-home',
    templateUrl: 'home.page.html',
    styleUrls: ['home.page.scss'],
})
export class HomePage {
    results = [];
    info_txt = "";
    async getNetworks() {
    this.info_txt = "loading...";
    try {
        let results = await WifiWizard2.scan();
        this.results = results;
        this.info_txt = "";
    } catch (error) {
        this.info_txt = error;
    }
    }
}