iOS 应用跳转、参数传递

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 应用跳转、参数传递相关的知识,希望对你有一定的参考价值。

参考技术A

itms-apps:// 和 itms:// 开头的链接都可以,而此时 https:// 开头的链接不可以

创建两个示例Demo,TestDemo和Test2Demo,现在需要实现从Test2Demo跳转到TestDemo中

1、在被跳转的App配置一个协议scheme,这里命名为test(名字可随意配置,当然最好是英文并且跟你项目相关)

targets -> info -> URL Types ->URL Scheme ->填写协议

2、在需要跳转操作的App中执行跳转的方法,实现下面方法

OK,到这里如果你的系统是ios9.0以下,已经大大功告成了。但是,如果是9.0以后,请看下一步。

3、配置协议白名单

在需要跳转操作的App的info.plist文件中增加一个 LSApplicationQueriesSchemes 字段,把它设置为数组类型,并配置需要跳转的协议名单

其中参数mt:8的含义为:

实现iOS APP之间的相互跳转, 使用的就是UIApplication的openURL:方法.
那么, 如果想要在openURL方法中传递参数和数据, 应该如何实现呢?

AppDelegate的application:openURL:options方法

通过URL传递参数,在AppDelegate的 application:openURL:options 方法中, 参数url在两个APP都是一样的值.

如在第一个App中调用如下,

则在 跳转到的App 的AppDelegate.m文件的 application:openURL:options 方法中, 即可获取该url的完整信息.

这样, 就通过URL本身在两个APP之间传递了参数.该参数的格式与Http请求的GET格式保存一致.

通过URL只能简单地传递参数, 如果要传递负责的数据如image就只能通过剪贴板UIPasteboard了.

如在跳转入口App中, 向系统剪贴板中填充数据:

则在 跳转到的App 中, 从剪贴板中取出数据便可以使用:

Jquery跳转页面传递参数以及获取url的参数

参考技术A Jquery跳转页面传递参数以及获取url的参数的方法总结

传递参数: window.location='editCourse.html?dataId='+dataId+'';

获取url中的参数(封装的方法):

   function getUrlParam(name)

        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象

        var r = window.location.search.substr(1).match(reg);  //匹配目标参数

        if (r != null) return unescape(r[2]);

        return null; //返回参数值

   

        使用: var dataId = getUrlParam("dataId")

以上是关于iOS 应用跳转、参数传递的主要内容,如果未能解决你的问题,请参考以下文章

Android应用之间的跳转以及参数的传递

flutter 跳转页面传递参数 返回页面带参数

Jquery跳转页面传递参数以及获取url的参数

angular跳转页面和传递参数

Android Studio第三十八期 - HIOS跳转协议解决URI跳转原生页面并传递参数

react 页面 参数怎么传递