Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198
WiFiKit.framework: Difference between revisions - iPhone Development Wiki

WiFiKit.framework: Difference between revisions

From iPhone Development Wiki
(Info on AirPortSettings.bundle)
No edit summary
 
Line 1: Line 1:
{{infobox Framework
| vis = Private
| since = 11.0
}}
'''WiFiKit''' is a private framework that provides a high-level ObjC API to [[MobileWiFi.framework]]. Its functionality used to be in AirPortSettings.bundle but it has now been factored out to this new framework and  AirPortSettings now contains simply one class APNetworksController that uses WFNetworkListController from this framework.
'''WiFiKit''' is a private framework that provides a high-level ObjC API to [[MobileWiFi.framework]]. Its functionality used to be in AirPortSettings.bundle but it has now been factored out to this new framework and  AirPortSettings now contains simply one class APNetworksController that uses WFNetworkListController from this framework.


Line 16: Line 22:
- (WFScanManager *)scanManager{
- (WFScanManager *)scanManager{
     if(!_scanManager){
     if(!_scanManager){
        Class WFClientClass = NSClassFromString(@"WFClient"); // Because I can't yet link the framework.
         WFClient *client = [[WFClientClass alloc] init];
         WFClient *client = [WFClientClass.alloc init];
         _scanManager = [[WFScanManager alloc] initWithClient:client scanInterval:6 delegate:self]; // minimum 6
        Class WFScanManagerClass = NSClassFromString(@"WFScanManager");
         _scanManager = [WFScanManagerClass.alloc initWithClient:client scanInterval:6 delegate:self]; // minimum 6
     }
     }
     return _scanManager;
     return _scanManager;
Line 25: Line 29:


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
     [self.scanManager start];
     [self.scanManager start];
     return YES;
     return YES;
Line 41: Line 44:
</source>
</source>


== References ==
 
* Header: https://github.com/lechium/tvOS130Headers/blob/master/System/Library/PrivateFrameworks/WiFiKit.framework/WFScanManager.h
{{Navbox Frameworks}}

Latest revision as of 03:06, 8 July 2022

WiFiKit.framework
Private Framework
Availabile 11.0 – present
Headers [headers.cynder.me]


WiFiKit is a private framework that provides a high-level ObjC API to MobileWiFi.framework. Its functionality used to be in AirPortSettings.bundle but it has now been factored out to this new framework and AirPortSettings now contains simply one class APNetworksController that uses WFNetworkListController from this framework.

It requires the com.apple.wifi.manager-access entitlement.

#import <WiFiKit/WiFiKit.h>

@interface AppDelegate () <WFScanManagerDelegate>

@property (strong, nonatomic) WFScanManager *scanManager;

@end

@implementation AppDelegate

- (WFScanManager *)scanManager{
    if(!_scanManager){
        WFClient *client = [[WFClientClass alloc] init];
        _scanManager = [[WFScanManager alloc] initWithClient:client scanInterval:6 delegate:self]; // minimum 6
    }
    return _scanManager;
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [self.scanManager start];
    return YES;
}

// called first for 2.4GHz then second for 5GHz
-(void)scanManager:(WFScanManager *)scanManager updatedPartialResults:(NSSet<WFNetworkScanRecord *> *)partialResults{
    NSLog(@"%@", NSStringFromSelector(_cmd));
}

// called immediately after 5GHz partial
- (void)scanManagerScanningDidFinish:(WFScanManager *)scanManager withResults:(NSSet<WFNetworkScanRecord *> *)results error:(NSError *)error{
    NSLog(@"%@", NSStringFromSelector(_cmd));
}