美文网首页iOS开发笔记ios知识
iOS-app跳转safari及从safari跳回app功能实现

iOS-app跳转safari及从safari跳回app功能实现

作者: shiyueZ | 来源:发表于2018-07-25 17:34 被阅读0次

    app跳转safari

    可以用苹果系统方法openURL:来实现:

    [UIApplication sharedApplication] openURL:[NSURL URLWithSring:@"网址"]];

    safari跳回app

    要实现这个功能,必须要知道URL Schemes,那什么是URL Schemes?下面来简单的介绍一下:

    URL,我们都很清楚,https://www.baidu.com 就是个 URL,我们也叫它链接或网址;

    Schemes,表示的是一个 URL 中的一个位置——最初始的位置,即 ://之前的那段字符。比如 https://www.baidu.com 这个网址的 Schemes 是 https

    这样说不是很明白,下面:

    举个栗子

    我们选择项目->TARGETS->Info->URL Types,新增一个跳转app的定向URL,如下图所示:

    Identifier:表示该app的唯一标识,这个可以随意设置,只要保证唯一性就好。

    URL Schemes:这个也可以随意设置,是作为跳回该应用的一个Schemes,这样在safari的网址输入框输入app:// ,就可以跳转回应用。有趣的是,经过测试,你直接打开safari,输入app:// ,也可打开应用,前提是你已经安装该应用,否则提示无效的网址。

    补充:

    在safari跳转回app时也可以携带参数,传到app,通过系统方法接收到相应的参数内容,再进行相应的处理。

    在safari网址输入框输入:app://?name=十月&age=18,然后在Appdelegate.m添加代码:

    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options {

        NSLog(@"url:%@",url);

        NSLog(@"scheme:%@",url.scheme);

        NSLog(@"query:%@",url.query);

        NSLog(@"options:%@",options);

        return YES;

    }

    在该回调函数内可以接收到传过来的url及参数,接下来就是处理相应的逻辑了。

    最后插一句,关于URL Schemes的详解,可以参考@Hum大神的URL Schemes使用详解,文章里介绍了从app跳转另一个app的实现方法和功能处理。

    结语:学到的东西,自己记录一下也是不错的学习方法。由于之前也很少写东西,有什么不足之处,请指出!我也会慢慢改正,希望一起学习,一起成长!喜欢的话,可以点赞哦^oo ^!

    相关文章

      网友评论

        本文标题:iOS-app跳转safari及从safari跳回app功能实现

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