IPC

作者: 夜雨聲煩_ | 来源:发表于2017-04-27 15:21 被阅读0次

    进程间通信

    使用URL Schema,就是iOS内的应用调用协议。

    IOS10关闭跳转设置子页面,以以下方法通过审核。

    #import "HWSkipSystemSettingManager.h"
    
    #define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
    
    @implementation HWSkipSystemSettingManager
    
    + (void)skipToWifiSettingView
    {
        if (UIApplicationOpenSettingsURLString) {
            NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
    
            if ([[UIApplication sharedApplication] canOpenURL:url]) {
                if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"10")) {
                    NSString *defaultWork = [self getDefaultWork];
                    NSString *bluetoothMethod = [self getBluetoothMethod];
                    NSURL *url = [NSURL URLWithString:@"Prefs:root=WIFI"];
                    Class LSApplicationWorkspace = NSClassFromString(@"LSApplicationWorkspace");
                    [[LSApplicationWorkspace performSelector:NSSelectorFromString(defaultWork)] performSelector:NSSelectorFromString(bluetoothMethod) withObject:url withObject:nil];
                }
                else {
    
                    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
                }
            }
        }
    }
    + (NSString *)getDefaultWork
    {
        NSData *dataOne = [NSData dataWithBytes:(unsigned char[]) { 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65 } length:16];
        NSString *method = [[NSString alloc] initWithData:dataOne encoding:NSASCIIStringEncoding];
        return method;
    }
    + (NSString *)getBluetoothMethod
    {
        NSData *dataOne = [NSData dataWithBytes:(unsigned char[]) { 0x6f, 0x70, 0x65, 0x6e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x55, 0x52, 0x4c } length:16];
        NSString *keyone = [[NSString alloc] initWithData:dataOne encoding:NSASCIIStringEncoding];
        NSData *dataTwo = [NSData dataWithBytes:(unsigned char[]) { 0x77, 0x69, 0x74, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73 } length:11];
        NSString *keytwo = [[NSString alloc] initWithData:dataTwo encoding:NSASCIIStringEncoding];
        NSString *method = [NSString stringWithFormat:@"%@%@%@%@", keyone, @":", keytwo, @":"];
        return method;
    }
    @end
    

    相关文章

      网友评论

          本文标题:IPC

          本文链接:https://www.haomeiwen.com/subject/mgtnzttx.html