bingoogolapple / bingoogolapple.github.io

个人主页。同时也通过 Issues 记录学习笔记
http://www.bingoogolapple.cn
86 stars 22 forks source link

iOS 应用间跳转 #104

Open bingoogolapple opened 8 years ago

bingoogolapple commented 8 years ago

编写需要被打开的应用 AppOne

配置 Info.plist 文件

image 或者 image

重写 AppDelegate 的 handleOpenURL 方法

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    if (url) {
        [[[UIAlertView alloc] initWithTitle:nil message:[NSString stringWithFormat:@"absoluteString = %@\nscheme = %@\nquery = %@", url.absoluteString, url.scheme, url.query] delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil] show];
    }
    return YES;
}

编写打开 AppOne 的应用 AppTwo

iOS9以后需要在 Info.plist 中配置 LSApplicationQueriesSchemes 需要被打开的应用的 Schemes

image

打开 AppOne

- (IBAction)openAppOne:(UIButton *)sender {
    NSURL * url = [NSURL URLWithString:@"appone://cn.bingoogolapple.appone?username=bingoogolapple&password=123456"];
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        NSLog(@"打开AppOne");
        [[UIApplication sharedApplication] openURL:url];
    }
}