iOS 应用跳转、参数传递

 我来答
科创17
2022-07-23 · TA获得超过5893个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:174万
展开全部

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 中, 从剪贴板中取出数据便可以使用:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式