iOS中使用URL Scheme进行App跳转的教程

2020-01-15 14:22:55王振洲

    [alertView show];
    return YES;
}
我们来看看苹果给这个方法的注释:
复制代码
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;  // Will be deprecated at some point, please replace with application:openURL:sourceApplication:annotation:
这个方法在未来将被废弃,可以用application:openURL:sourceApplication:annotation:来代替。

 

URL传参格式

昨天我们在iOSStrongDemo注册的URL Scheme还记得是什么吗?你应该还有印象的就是iOS开发的ID:iOSDevTip。

假设我们想要传递两个参数分别是名字name和手机号phone,格式如下:


iOSDevTip://?name=ligang&phone=13888888888

有没有似曾相识的感觉。我们用get方式请求一个接口是不是就是这样的。

被启动的APP处理传过来的参数

复制代码
- (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation
{
    NSLog(@"sourceApplication: %@", sourceApplication);
    NSLog(@"URL scheme:%@", [url scheme]);
    NSLog(@"URL query: %@", [url query]);

 

    // 接受传过来的参数
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"打开啦"
                                                        message:[url query]
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"