IPC

進程間通信

使用URL Schema,就是iOS內(nèi)的應用調(diào)用協(xié)議。

IOS10關(guān)閉跳轉(zhuǎn)設(shè)置子頁面,以以下方法通過審核。

#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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容