[英]MobileWiFi framework callback in Swift
对于私人项目,我试图在Swift中使用私有MobileWiFi框架。
我发现这个网站: http : //iphonedevwiki.net/index.php/MobileWiFi.framework在Objective-C中它的工作就像一个魅力,但我想将代码转换为Swift。
我已经将“检索已知网络列表”功能转换为Swift,该功能正在运行。
现在我正在尝试转换“获取WiFi信号强度”功能,但使用回调函数,我已经尝试了这么努力,但无法让它工作。
#include <MobileWiFi.h>
static WiFiManagerRef _manager;
static void scan_callback(WiFiDeviceClientRef device, CFArrayRef results, CFErrorRef error, void *token);
int main(int argc, char **argv)
{
_manager = WiFiManagerClientCreate(kCFAllocatorDefault, 0);
CFArrayRef devices = WiFiManagerClientCopyDevices(_manager);
if (!devices) {
fprintf(stderr, "Couldn't get WiFi devices. Bailing.\n");
exit(EXIT_FAILURE);
}
WiFiDeviceClientRef client = (WiFiDeviceClientRef)CFArrayGetValueAtIndex(devices, 0);
WiFiManagerClientScheduleWithRunLoop(_manager, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
WiFiDeviceClientScanAsync(client, (CFDictionaryRef)[NSDictionary dictionary], scan_callback, 0);
CFRelease(devices);
CFRunLoopRun();
return 0;
}
static void scan_callback(WiFiDeviceClientRef device, CFArrayRef results, CFErrorRef error, void *token)
{
NSLog(@"Finished scanning! networks: %@", results);
WiFiManagerClientUnscheduleFromRunLoop(_manager);
CFRelease(_manager);
CFRunLoopStop(CFRunLoopGetCurrent());
}
有人可以向我解释如何在swift语言中使用这样的回调函数吗?
提前致谢!
我找到了这个功能:
pcap_loop(pcapSession, numberOfPackets,
{
(args: UnsafeMutablePointer<u_char>,
pkthdr:UnsafePointer<pcap_pkthdr>,
packet: UnsafePointer<u_char>) ->Void in
// singleton call
let pa = PacketAnalyser.sharedInstance
pa.Process()
},
nil)
在这个网站上: http : //diydeveloper.io/tech/2015/11/27/swift-pcap
我认为这是我的问题的可行解决方案。 有人可以向我解释一下我是否可以使用这个例子?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.