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

标签 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上运行时,它既不会给我网络,也不会给我带来错误。

最佳答案

您必须异步加载扫描功能。这是使用ionic和Cordova的示例:

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;
    }
    }
}

我自己的网站上的完整示例在这里https://www.tonyfox.co.uk/posts/using-wifiwizard2-with-ionic/

关于ios - 使用Cordova应用程序在iOS上列出附近的wifi网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54164111/

相关文章:

android - 我无法使用android studio在模拟器或模拟器上运行我的Flutter应用程序

ios - iPhone 8 和 X 的模拟器错误 : Unable to lookup service com. apple.CoreSimulator.host_support: 0x3

android - Android 上使用 Cordova/Phonegap 的单选按钮

android - Cordova SSL 固定错误 500 : "There was an error with the request"

android - cordova相机copyFile错误代码1000

ios - Cordova 相机从iOS上的库返回错误的照片

ios - 如何通过迦太基使用适用于 iOS 的谷歌移动视觉

ios - 如何在基于混合 HTML5 的应用程序中使用 Facebook javascript SDK 登录

cordova - iOS 从 Windows 平台的 PhoneGap 构建

html - phonegap - 在黑莓上启动屏幕后显示黑屏