在 OS X 中使用 Swift 显示所有可用的 WIFI 连接

2023-12-12

我正在尝试显示所有可用的 WIFI 连接。这不起作用。这是我的代码:

import Foundation
import CoreWLAN

var cwInterface = CWInterface()

do {
    let routers = try cwInterface.scanForNetworksWithSSID(nil)
    print(routers)
} catch let error as NSError {
    print("Error: \(error.localizedDescription)")
}

我没有得到任何结果。我做错了什么?


如果您使用接口名称(例如“en1”)初始化 CWInterface,则它会起作用。

但最好不要使用硬编码名称,所以我们也会使用CWWiFiClient.sharedWiFiClient().interface()返回默认的WIFI接口。

管理这一切的类的示例:

class Discovery {

    var currentInterface: CWInterface
    var interfacesNames: [String] = []
    var networks: Set<CWNetwork> = []

    // Failable init using default interface
    init?() {
        if let defaultInterface = CWWiFiClient.sharedWiFiClient().interface(),
               name = defaultInterface.interfaceName {
            self.currentInterface = defaultInterface
            self.interfacesNames.append(name)
            self.findNetworks()
        } else {
            return nil
        }
    }

    // Init with the literal interface name, like "en1"
    init(interfaceWithName name: String) {
        self.currentInterface = CWInterface(interfaceName: name)
        self.interfacesNames.append(name)
        self.findNetworks()
    }

    // Fetch detectable WIFI networks
   func findNetworks() {
        do {
            self.networks = try currentInterface.scanForNetworksWithSSID(nil)
        } catch let error as NSError {
            print("Error: \(error.localizedDescription)")
        }
    }

}

使用默认接口调用它:

if let discovery = Discovery() {
    print(discovery.networks)
    for network in discovery.networks {
        print(network.ssid!)
    }
}

或者使用接口名称:

let discovery = Discovery(interfaceWithName: "en1")
let results = discovery.networks

结果包含所有扫描的网络:

[<CWNetwork: 0x608000001bd0> [ssid=SomeNetworkName, bssid=xxxx, security=WPA Enterprise, rssi=xx, channel=<CWChannel: 0x600000004fb0> [channelNumber=11(2GHz), channelWidth={20MHz}], ibss=0], etc]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 OS X 中使用 Swift 显示所有可用的 WIFI 连接 的相关文章

  • 当 UITextField 已满或空时显示警报 Swift

    下面的代码中 如果 userNameTF 或 passwordTF 已满或为空 则会显示警报 IBAction func LoginBtn sender AnyObject let userName userNameTF text let
  • 在 macOS 上为 MoviePy 安装 ffmpeg 失败并出现 SSL 错误

    我正在尝试编写一个 Python 程序 在 Mac OS 10 11 16 上使用 MoviePy 将 MP4 文件转换为 GIF 我用 import moviepy editor as mp 我收到一条错误消息 说我需要打电话imagei
  • 如何防止Apple Watch进入睡眠状态?

    我们正在开发一个 Apple Watch 项目 但如果不被打扰 手表就会进入睡眠状态 有什么办法可以阻止它进入睡眠状态吗 据我所知和有关该主题的其他搜索 目前还没有api可通过编程方式启用或禁用 Apple Watch 的睡眠模式
  • 如何将字符串日期转换为 NSDate?

    我想转换字符串 2014 07 15 06 55 14 198000 00 00 to an NSDate在斯威夫特 尝试这个 let dateFormatter NSDateFormatter dateFormatter dateForm
  • 在真实设备上展示测试广告

    这是我的代码 let request GADRequest request testDevices kGADSimulatorID XXXX2F32d69CCA859FFB559D0FEA3CF6483D08A6 adView load r
  • MySQL 数据库无法在 XAMPP for Mac 上启动

    突然我在 mac 上遇到了这个问题 我无法启动我的 MySQL 数据库 我只能启动 ProFTPD 和 Apache Web Server 这是应用程序日志 Starting all servers Starting MySQL Datab
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com
  • 在 Mac 上使用 Eclipse 进行 C++ 调试器

    当我最终设置我的 mac 来使用 eclipse 后 我无法调试 我尝试通过谷歌寻求帮助 但没有一个答案对我有用 所以 我需要有人帮助我在 eclipse 上安装和使用 c c 调试器 我安装了 Xcode 5 0 感谢您的帮助 Roy 您
  • Swift 中的 UIAlert 自动消失?

    我有以下代码 Creates Alerts on screen for user func notifyUser title String message String gt Void let alert UIAlertController
  • 无法将“SDWebImageActivityIndi​​cator”类型的值分配给“ST_SDWebImageIndicator”类型?

    I have multiple flavours targets in my Xcode project I am also using SDWebImage in my app Everything was working fine un
  • Codesign:什么是未密封内容?

    我刚刚升级到 XCode 6 并尝试构建我的开发者 ID 签名的 Mac 应用程序 但是 我现在收到以下协同设计错误 unsealed contents present in the root directory of an embedde
  • Swift - 选择值后隐藏 pickerView

    我发现了类似的问题 他们的答案很有帮助 但我坚持最后一件事 我试图在点击字段时显示 pickerView 然后选择数据时 我希望 pickerView 隐藏 我可以从 pickerView 获取数据来隐藏 但是 pickerView 后面仍
  • 我们可以从 LinkPresentation 框架中的 LPLinkView 中提取图像吗?

    我想在我的应用程序中呈现丰富的链接 并将这些数据发送到我的服务器 我需要访问视图内的图像LPLinkView https developer apple com documentation linkpresentation lplinkvi
  • 使用 Cocoa 获取无法安装的驱动器列表

    我想获取在 OS X 下使用 Cocoa Objective C 无法安装 弹出的驱动器列表 我希望 NSWorkspace getFileSystemInfoForPath 能帮助我 NSArray listOfMedia NSWorks
  • UISearchController 保留问题

    我正在尝试使用 UISearchController 但是我遇到了无法解决的保留问题 MainTableview 有两个部分 第1节 基于某些正则表达式过滤数据 第2节 All Data 我将 UISearchController 添加到我
  • Swift getnameinfo IPv6 结果不可靠

    我有以下扩展sockaddr extension sockaddr Indicates if this is an IPv4 address var isIPv4 Bool return sa family UInt8 AF INET In
  • 如何使用 Swift 获取 YouTube 频道的所有播放列表?

    我的问题不是关于从一般频道检索视频 我只想获取该频道创建的所有 播放列表 并检索每个播放列表的缩略图 标题和视频数量 这是一个 YouTube 频道示例 正如您所看到的 有很多已创建的播放列表 截至目前 我只能获取某个频道最新上传的视频 在
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • Mac 上用户“postgres”的密码身份验证失败

    我在创建新的 psql 用户时遇到问题 因为我无法以 postgres 身份登录 psql 我已尝试过 1 sudo u postgres psql 2 sudo u postgres createuser img site P s e 他

随机推荐

  • 为什么C语言中两个浮点数相加是错误的?

    我在两个浮点数相加时遇到问题 代码如下 float a 30000 0f float b 4499722832 0f printf f n a b 为什么输出结果是450002816 000000 正确的应该是 450002832 浮点数在
  • 如何在 R 中创建缺失值的曲面图?

    我有一个 5x5 矩阵示例 其中包含以下值 dat lt matrix seq 1 13 0 5 nrow 5 byrow TRUE dat seq 2 25 2 lt NA 1 NA 2 NA 3 NA 4 NA 5 NA 6 NA 7
  • java.awt.Desktop.open 不适用于 PDF 文件?

    看起来我无法在 PDF 文件上使用 Desktop open 无论位置如何 这是一个小测试程序 package com example bugs import java awt Desktop import java io File imp
  • 如何合并两个已经运行的报告?

    我对子报表做了一些研究 甚至构建了使用多个子报表的报表 我在合并 2 个已制作的报告时遇到问题 以便它们都能运行并打印出来 第一页上有一个 第二页上有一个 我怎样才能做到这一点 我是否必须包含这些报告 SQL 语句中的每一项 还是只包含导致
  • OpenCV:imwrite 在保存时更改通道像素值

    我正在读取图像并在蓝色通道上进行一些处理 而不更改红色或绿色通道 当我完成蓝色通道的处理后 我将三个通道合并回一张 RGB 图像 当我使用 imshow 查看通道时 一切都很好 我可以看到我所做的更改仅影响蓝色通道 而不会影响红色或绿色通道
  • 在 Android 中按下时更改按钮大小的问题

    我尝试在按下按钮时更改按钮的大小 但似乎没有任何效果 该按钮在 main xml 中创建
  • 如何在 python 中将 3D 列表转换为 2D 列表?

    这是我的代码 3 4 5 6 7 8 我怎样才能将其更改为 3 4 5 6 7 8 您想要展平输入列表的单个级别 请使用列表理解尝试此解决方案 lst 3 4 5 6 7 8 e for sl in lst for e in sl gt 3
  • 从 Delphi 撰写 Outlook 2010 邮件的最简单方法?

    我们的一些应用程序可以与不同的电子邮件集成方式配合使用 使用mailto 模拟 发送到 以及 Windows 2000 和 2003 环境中的 SMTP 现在迁移到具有 Exchange 2010 和 Outlook 2010 客户端的新
  • NSDateFormatter 在设备和模拟器上给出不同的值?解决办法是什么?

    我正在使用 NSDateFormatter 问题在于它的一致性 如果我使用 kCFDateFormatterMediumStyle 它在 模拟器中给出的格式为 Nov 26 2009 但在设备上它给出的格式为 26 Nov 2009 现在我
  • EditorFor继承模型MVC

    我的 Post 调用未返回正确的模型类型 它始终使用 baseObject 而不是我从 Get 传入的正确派生对象 RestaurantViewModel cs public class RestaurantViewModel public
  • 将 JSON 或 XML API 响应保存到 Wordpress 数据库

    我正在做一个项目 我正在尝试将摄影师的 Flickr 帐户与他的 Wordpress 网站集成 这个想法是将 WordPress 网站与他的 flickr 同步 我正在使用 Flickr API 获取他的图片 URL 描述 标签和集并显示所
  • “AuthDataResult”类型的值没有成员“uid”

    我正在尝试在 Firebase 身份验证中访问用户的 uid 我在代码中创建了一个 createUser 完成块 并在该块的末尾检查我命名为 firUser 的用户 当我尝试添加时firUser uid在我的用户中我收到错误消息 AuthD
  • 如何在 i18n-js 中使用 setLocale?

    我在我的世博项目中使用 i18n js 来翻译我的应用程序 这就是我的配置方式 import React from react import as Localization from expo localization import i18
  • MySQL 5.6 中生成列的替代方案是什么

    我有一个 MySQL 更改语句 ALTER TABLE employee ADD employee name generator CHAR 20 GENERATED ALWAYS AS COALESCE concat employee na
  • Windows 无法识别 Cassandra 可执行文件

    我正在尝试通过以下方式在 Windows 10 上下载并安装 Cassandra下载并解压 tar 文件 我已确保初始化新的环境变量CASSANDRA HOME我还更新了PATH变量包括bin子目录 您可以将其视为最后一个条目 PATH C
  • 上传照片失败 Codeigniter

    这是我的代码 我的照片无法插入数据库 实际上我想用 codeigniter 进行在线考试 我想用图片上传问题 但是当我尝试上传图片时 代码不起作用 但问题成功插入数据库 只有图片上传失败 控制器 function insert nama a
  • JAVA:邮件:我怎样才能解决ClassNotFoundException:javax.mail.internet.AddressException?

    我有一些发送电子邮件的代码 它在我的系统中完美运行 但问题是我将此程序复制到另一个系统 并在运行时出现以下错误 ClassNotFoundException javax mail internet AddressException 注 两个
  • 如何按日期查询Datetime对象?

    我想根据特定日期查询表 但问题是该字段的数据类型是日期时间 select from Supplier where modified Date 2011 05 07 12 52 16 830 该查询正在返回结果 but select from
  • RemoteActorRefProvider 类未找到

    我正在努力尝试在 Scala 中设置远程 Actor 我正在运行 Scala 2 10 2 和 Akka 2 2 1 我使用 为了清楚起见 我缩短了类路径参数上的路径 进行编译 scalac classpath akka 2 2 1 lib
  • 在 OS X 中使用 Swift 显示所有可用的 WIFI 连接

    我正在尝试显示所有可用的 WIFI 连接 这不起作用 这是我的代码 import Foundation import CoreWLAN var cwInterface CWInterface do let routers try cwInt