【问题标题】:Connect to WiFi programmatically in ios在 ios 中以编程方式连接到 WiFi
【发布时间】:2013-03-13 13:59:47
【问题描述】:

我的问题是关于 IOS 中的私有 API。是否有一些 API 来管理 WiFi 连接?例如,我正在使用 Apple80211.framework 扫描 WiFi 网络,但它无法用于连接。

我的应用不适用于应用商店。

【问题讨论】:

    标签: api ios5 wifi


    【解决方案1】:

    我们可以在 iOS 11 公共 API 之后以编程方式连接 wifi 网络。您可以使用 SSID 和密码连接 wifi,如下所示。

    斯威夫特

    var configuration = NEHotspotConfiguration.init(ssid: "wifi name", passphrase: "wifi password", isWEP: false)
    configuration.joinOnce = true
    
    NEHotspotConfigurationManager.shared.apply(configuration) { (error) in
        if error != nil {
            //an error occurred
            print(error?.localizedDescription)
        }
        else {
            //success
        }
    }
    

    别忘了import NetworkExtension

    【讨论】:

      【解决方案2】:

      我去年遇到了这个问题,经过大量挖掘后,我发现了一个有用的示例,名为 SOLStumbler。要使此应用程序正常工作,您的设备必须越狱。我修改了 SOLStumbler 并在 github 上抛出了一个示例应用程序。它使用 IPConfiguration 包来访问 Apple80211 框架,该框架允许您关联到网络。自述文件包含自定义构建说明。

      https://github.com/devinshively/wifiAssociate

      【讨论】:

      【解决方案3】:

      不再需要私有 API!在 iOS 11 中,Apple 提供了一个公共 API,您可以使用它以编程方式加入 WiFi 网络,而无需离开您的应用程序。

      您需要使用的类称为NEHotspotConfiguration

      要使用它,您需要在您的 App Capabilities (Adding Capabilities) 中启用 Hotspot 功能。快速工作示例:

      NEHotspotConfiguration *configuration = [[NEHotspotConfiguration
       alloc] initWithSSID:@“SSID”];
      configuration.joinOnce = YES;
      
      [[NEHotspotConfigurationManager sharedManager] applyConfiguration:configuration completionHandler:nil];
      

      这将提示用户加入“SSID”WiFi 网络。在用户离开应用程序之前,它将保持与 WiFi 的连接。

      这不适用于模拟器,您需要在实际设备上运行此代码才能使其工作。

      更多信息在这里: https://developer.apple.com/documentation/networkextension/nehotspotconfiguration

      【讨论】:

        【解决方案4】:

        在任何版本的 iOS 中都可以加载配置文件:应用需要生成具有所需网络凭据的配置文件,并托管一个将配置文件提供给 Mobile Safari 的网络服务器。

        【讨论】:

          猜你喜欢
          • 2016-06-07
          • 1970-01-01
          • 1970-01-01
          • 2013-04-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-18
          • 2023-01-27
          相关资源
          最近更新 更多