iOS 应用跳转、参数传递
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 应用跳转、参数传递相关的知识,希望对你有一定的参考价值。
参考技术Aitms-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 应用跳转、参数传递的主要内容,如果未能解决你的问题,请参考以下文章