- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个商业应用程序有一个完全合法的理由来查看它连接到的网络的 SSID:如果它连接到第 3 方硬件设备的 Adhoc 网络,它需要以不同于如果它已连接到互联网。
我所看到的有关获取 SSID 的所有信息都告诉我必须使用 Apple80211,据我所知这是一个私有(private)图书馆。我还了解到,如果我使用私有(private)图书馆,Apple 将不会批准该应用程序。
我是被困在一个苹果和一个艰难的地方之间,还是我错过了什么?
最佳答案
从 iOS 7 或 8 开始,您可以执行此操作(需要 iOS 12+ 的授权,如下所示):
@import SystemConfiguration.CaptiveNetwork;
/** Returns first non-empty SSID network info dictionary.
* @see CNCopyCurrentNetworkInfo */
- (NSDictionary *)fetchSSIDInfo {
NSArray *interfaceNames = CFBridgingRelease(CNCopySupportedInterfaces());
NSLog(@"%s: Supported interfaces: %@", __func__, interfaceNames);
NSDictionary *SSIDInfo;
for (NSString *interfaceName in interfaceNames) {
SSIDInfo = CFBridgingRelease(
CNCopyCurrentNetworkInfo((__bridge CFStringRef)interfaceName));
NSLog(@"%s: %@ => %@", __func__, interfaceName, SSIDInfo);
BOOL isNotEmpty = (SSIDInfo.count > 0);
if (isNotEmpty) {
break;
}
}
return SSIDInfo;
}
示例输出:
2011-03-04 15:32:00.669 ShowSSID[4857:307] -[ShowSSIDAppDelegate fetchSSIDInfo]: Supported interfaces: (
en0
)
2011-03-04 15:32:00.693 ShowSSID[4857:307] -[ShowSSIDAppDelegate fetchSSIDInfo]: en0 => {
BSSID = "ca:fe:ca:fe:ca:fe";
SSID = XXXX;
SSIDDATA = <01234567 01234567 01234567>;
}
请注意,模拟器不支持 ifs。在您的设备上进行测试。
您必须从功能中启用访问 wifi 信息。
Important To use this function in iOS 12 and later, enable the Access WiFi Information capability for your app in Xcode. When you enable this capability, Xcode automatically adds the Access WiFi Information entitlement to your entitlements file and App ID. Documentation link
swift 4.2
func getConnectedWifiInfo() -> [AnyHashable: Any]? {
if let ifs = CFBridgingRetain( CNCopySupportedInterfaces()) as? [String],
let ifName = ifs.first as CFString?,
let info = CFBridgingRetain( CNCopyCurrentNetworkInfo((ifName))) as? [AnyHashable: Any] {
return info
}
return nil
}
关于ios - iPhone在没有私有(private)图书馆的情况下获得SSID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5198716/
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我想知道创建启动画面的最佳方法是什么(当您开始游戏时,公司 Logo 动画化)。我在 After Effects 中创建了一个 .mp4 启动画面,但找不到在 libgdx 中显示它的方法。创建启动画
我想知道如果登录请求 url 是如何发送 volley 登录请求 username:password http://login_url 以这种格式。如果有示例代码可用,那将是一个很大的帮助。目的是向
我需要在我们的系统中 gprof 一个库来检查函数调用,看看我们是否可以再优化它。基本上,我所拥有的是 使用共享库 myLib.so 的可执行文件 A 我想 gprof myLib.so。当我使用 -
我想在项目中使用 jetty 。我正在用Gradle构建它。 IntelliJ在下面的行中告诉“无法解决符号跳船” import org.eclipse.jetty.server.Server;如何解
我想编写转换器,让我完全控制将 PDF 转换为 ePUB?我正在寻找的是转换器 - 不应该把最后一行的词剪掉。如果一个文本是一个段落那么epub必须是一段没有任何额外的空间字符和切词。 -应该识别 p
我正在 libgdx 中制作一个自上而下的迷宫游戏,我使用 extendViewport 来渲染游戏相机。我对如何创建小 map 有点困惑。我应该为小 map 创建一个额外的视口(viewport)和
我正在尝试为 android 创建一个 epub 阅读器,所以经过大量搜索后我找到了 skyepub library (SDK)。似乎它具有我想要的所有功能。 我按照站点中的提示进行操作,但是在运行代
我正在尝试从 boost 库 ( http://www.boost.org/doc/libs/1_38_0/doc/html/program_options/tutorial.html#id37614
我正在创建一个菜单(就像那个飞扬的小鸟,当你死了它会在播放屏幕上弹出)。我创建了一个扩展表格的类,我想将表格的背景设置为白色。有办法做到这一点吗? 最佳答案 你可以这样做: Pixmap bgPixm
我在我的应用程序中使用 Picasso 库最新版本 2.4.0 来下载和缓存图像。大约有 25-30 张图像,每张大小为 300KB-400KB。我认为这绝不是一件大事或一件沉重的事情。 尽管应用程序
我即将编写一个宠物项目,其中部分功能依赖于从一台机器到另一台机器的通知。 工作流程是这样的: A 写了一些内容 A 按下按钮或说:“我完成了” B 立即获得更新 所以,我的第一个想法是,创建一个服务器
我目前是一名 C# 程序员,并且一直有兴趣学习更多有关 C++ 和数据结构的知识。我发现 CS106B 类(class)通过 Stanford Engineering Everywhere 计划免费在
阅读文档, 我发现以下内容: 1.9.1 1.8.4 1.8.2 A version of "1.8.2" select the obvious, fully-specified version. S
请我想知道当我们给 Nibobee 机器人提供电机速度时,我们在 AVR studio 中使用的单位是什么: motpwm_setLeft(1500); 1500 单位是多少? 最佳答案 根据the
我没有使用 boolean 值来查看一本书是否被 checkout ,而是我想用一个字符串来表示它是我想要的,但是当我调用该方法来 checkout 一本书时,该字符串适用于书籍对象的整个数组列表。我
我在使用 python 和 neurolab 方面还很陌生,我在训练前馈神经网络时遇到了问题。我建立了如下网络: net = nl.net.newff([[-1,1]]*64, [60,1]) net
给定一个 22 分钟(1320 秒) 的音频文件,Librosa 通过以下方式提取 MFCC 特征data = librosa.feature.mfcc(y=None, sr=22050, S=Non
我正在使用 naudio(使用教程)学习音频编程。我的程序 (C# .net winForms) 我有记录和停止按钮。代码如下所示: NAudio.Wave.WaveIn sourceStre
是否可以从自定义应用程序访问 iBooks 图书馆?喜欢用于音乐/视频的 MPMediaPickerController?或者可以访问与 iTunes 同步的书籍。谢谢 最佳答案 不,目前无法访问此信
我是一名优秀的程序员,十分优秀!