相关疑难解决方法(0)

如何在不推荐使用CaptiveNetwork后在iOS9中获取Wifi SSID,并且已经阻止了对Wifi名称的调用

直到今天,我使用CaptiveNetwork接口显示当前连接的Wifi的名称.iOS 9 Prerelease参考已经说过,CaptiveNetwork方法现在被删除了,但它们仍然在开始时工作.

有了最新版本,Apple似乎已经阻止了这个电话(可能是出于隐私问题?).

有没有其他方法来获得当前Wifi的名称?

这就是我今天获得SSID的方式,但你现在只获得nil:

#import <SystemConfiguration/CaptiveNetwork.h>

NSString *wifiName = nil;  
NSArray *interFaceNames = (__bridge_transfer id)CNCopySupportedInterfaces(); 

for (NSString *name in interFaceNames) { 
    NSDictionary *info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)name); 

    if (info[@"SSID"]) { 
        wifiName = info[@"SSID"]; 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios ios9

35
推荐指数
4
解决办法
4万
查看次数

iPhone获取所有没有私有库的SSID列表

是否可以在不使用私有库的情况下获取iPhone上所有可用SSID 的列表

我在没有私有库的情况下阅读iPhone获取SSID,这是关于获取有关当前网络的详细信息.

这个答案提到:

如果您越狱设备,您可以使用Apple80211私有框架查找可用的Wi-Fi网络及其信号强度.但这也意味着您的应用会被拒绝.

Apple拥有CaptiveNetwork API,但似乎没有一个解决方案来获取所有可用网络的列表.似乎只能通过使用Apple80211私有库或连接到所有这些来实现.

我错过了什么,或者没有解决方案?

iphone bssid ssid ios

33
推荐指数
2
解决办法
3万
查看次数

您可以将WiFi设置从iOS设备传递到ExternalAccessory对象吗?

我听说iOS 5引入了一项功能,iOS设备可以通过ExternalAccessory框架与对接附件共享其wifi配置.问题是我在SDK文档中找不到有关实现此类方案的任何具体细节.

根据我的研究,我开始怀疑它是通过"iPhone配置实用程序"实现的,但这似乎仍然是在设备上实现的一种混乱方法.

有人有任何想法吗?

一旦wifi设置数据可用,就应该很容易将其打包并通过ExternalAccessory框架发送到设备,在那里我将相应地构建协议支持.

谢谢

iphone ios ios5

31
推荐指数
2
解决办法
8671
查看次数

通过SDK访问iPhone WiFi信息

有没有办法使用iPhone SDK获取WiFi信息?像信号强度,WiFi频道和SSID这样的东西是我正在寻找的主要内容.

只对Wifi信息感兴趣,而不是蜂窝信息.

iphone cocoa-touch wifi

25
推荐指数
2
解决办法
5万
查看次数

如何使用CaptiveNetwork获取当前的WiFi热点名称

我需要获取当前连接的Wi-Fi热点的名称,例如"BT OpenZone"

我被告知可以使用CaptiveNetwork特别是CNCopyCurrentNetworkInfo 来完成

我的代码到目前为止:

#import <SystemConfiguration/CaptiveNetwork.h>
...

// Get the dictionary containing the captive network infomation
CFDictionaryRef captiveNtwrkDict = CNCopyCurrentNetworkInfo(kCNNetworkInfoKeySSID);

// Get the count of the key value pairs to test if it has worked
int count = CFDictionaryGetCount(captiveNtwrkDict);
NSLog(@"Count of dict:%d",count);
Run Code Online (Sandbox Code Playgroud)

当代码在WiFi热点的设备上运行时,captiveNtwrkDict为零.

有没有人设法让它工作?我无法在CaptiveNetworks上找到很多文档或任何示例代码示例...任何帮助将不胜感激.

iphone cocoa-touch objective-c wifi

25
推荐指数
3
解决办法
3万
查看次数

如何使用swift在iOS中获取可用的wifi网络名称

我想获得一个地区的所有WiFi网络及其SSID值.但问题是如何使所有WiFi网络的SSID可用,即使我没有连接到一个.

ios swift

19
推荐指数
2
解决办法
8404
查看次数

iOS获取当前的wlan网络名称

我正在寻找一种方法来获取iOS5的objective-c中当前连接的wlan网络的信息(至少名称).

我需要这个,因为我们正在开发一个在特定网络中不起作用的应用程序.在这个网络(在我们大学),我们需要连接到服务器的端口关闭.但是还有另一个网络可用,我们想告诉用户如果他连接到上述网络,他必须切换网络.

我甚至不知道从哪里开始.有没有人有想法或任何提示?

感谢致敬

iphone networking objective-c wlan ios

15
推荐指数
3
解决办法
3万
查看次数

在Swift 2中获取SSID

我试图使用此代码获取SSID

import Foundation
import SystemConfiguration.CaptiveNetwork

public class SSID {
    class func getSSID() -> String{
        var currentSSID = ""
        let interfaces = CNCopySupportedInterfaces()
        if interfaces != nil {
            let interfacesArray = interfaces.takeRetainedValue() as [String : AnyObject]
            if interfacesArray.count > 0 {
                let interfaceName = interfacesArray[0] as String
                let unsafeInterfaceData = CNCopyCurrentNetworkInfo(interfaceName)
                if unsafeInterfaceData != nil {
                    let interfaceData = unsafeInterfaceData.takeRetainedValue() as Dictionary!
                    currentSSID = interfaceData[kCNNetworkInfoKeySSID] as! String
                    let ssiddata = NSString(data:interfaceData[kCNNetworkInfoKeySSIDData]! as! NSData, encoding:NSUTF8StringEncoding) as! String
                    // ssid data from hex …
Run Code Online (Sandbox Code Playgroud)

iphone ssid ios swift

14
推荐指数
5
解决办法
1万
查看次数

CNCopyCurrentNetworkInfo与iOS 13

Apple更改了有关iOS 13中WiFi的一些内容。如果要使用CNCopyCurrentNetworkInfo,则您的应用程序需要具有以下任一功能

  • 具有访问位置权限的应用
  • 您的应用是当前启用的VPN应用
  • 您的应用通过NEHotspotConfiguration配置了设备当前正在使用的WiFi网络

资料来源:WWDC 19会议713

我正在使用NEHotspotConfiguration配置网络,但这样做后无法再获取当前的SSID。

以下代码在iOS 12上运行良好:

/// retrieve the current SSID from a connected Wifi network  
private func retrieveCurrentSSID() -> String? {  
    let interfaces = CNCopySupportedInterfaces() as? [String]  
    let interface = interfaces?  
        .compactMap { [weak self] in self?.retrieveInterfaceInfo(from: $0) }  
        .first  

    return interface  
}  

/// Retrieve information about a specific network interface  
private func retrieveInterfaceInfo(from interface: String) -> String? {  
    guard let interfaceInfo = CNCopyCurrentNetworkInfo(interface as CFString) as? [String: AnyObject],  
        let ssid = interfaceInfo[kCNNetworkInfoKeySSID as String] …
Run Code Online (Sandbox Code Playgroud)

ios captivenetwork swift nehotspothelper ios13

14
推荐指数
1
解决办法
8574
查看次数

iPhone SDK可以获取当前连接的Wi-Fi SSID吗?

在iPhone SDK中,我没有看到SCDynamicStore在Mac OS X上使用相同的内容来获取无线网络当前连接的SSID名称不可用.

有没有办法获得iPhone当前连接的SSID名称?

我看到一些应用程序这样做(AT&T的简易Wi-Fi一个)但我无法在iPhone SDK文档中找到它是如何完成的.私有或取消发布的方法可以作为概念证明(虽然我知道可能不会进入AppStore).

iphone wifi ios

13
推荐指数
2
解决办法
3万
查看次数