IOS - 使用Linking处理APP被外部URL调起的事件和解析URL参数

本文介绍了React Native应用如何处理被外部URL调起的事件并解析URL参数。通过设置URL Schemes,实现iOS应用间的相互跳转。在RN中,Linking.getInitialURL()用于处理APP启动时的URL,而在运行中则需要监听Linking的事件。通过自定义URL如myrnlindemo://index?page=index,可以从Safari调用RN应用,并根据传递的参数执行相应业务逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

参考资料:

https://blog.youkuaiyun.com/sinat_17775997/article/details/70473988

https://www.jianshu.com/p/8f2232da0956

http://www.cocoachina.com/ios/20161026/17855.html

 

本文主要介绍react-native应用如何处理APP被外部URL调起的事件,并解析URL携带的参数。

 

1、应用间相互跳转简介

在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景。这就需要我们掌握iOS应用程序之间的相互跳转知识。

 

2、应用间相互跳转实现原理

在iOS中打开一个应用程序只需要拿到这个应用程序的协议头即可,所以我们只需配置应用程序的协议头即可。

假设有应用A和应用B两个应用,现在需要从应用A跳转到应用B中。

原理:通过设置跳转到应用B的URL Schemes(自定义的协议头),应用B将其自身“绑定”到一个自定义URL Schemes上,就可以从应用A中利用应用B的URL Schemes启动应用B了。

IOS应用在info.plist文件中可以设置URL Schemes(URL types -> URL Schemes)。

(APP可以向手机操作系统注册一个 URL scheme,该 scheme 用于从浏览器或其他应用中启动本应用。)

 

3、RN端使用Linking处理APP被其注册过的外部 url 调起的情况

这一步,需要考虑两种情况,即

(1)APP未在运行

当APP未在运行状态时,可以使用Linking.getInitialURL()方法来处理外部URL调起的事件。

(2)APP在运行当中

当APP处在运行状态时,Linking.getInitialURL()方法是不会响应外部URL调起事件的。需要执行以下操作:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值