美文网首页
ios两个App之间互相跳转传值

ios两个App之间互相跳转传值

作者: 李龙简书 | 来源:发表于2017-07-25 11:38 被阅读128次

App跳转ios10之前和ios10之后分别是通过(下面我介绍的主要是oc  swift的可以去这里看一下

//ios10之前

- (BOOL)openURL:(NSURL*)url

//ios10之后

- (void)openURL:(NSURL*)url options:(NSDictionary *)options

completionHandler:(void (^ __nullable)(BOOL success))completion

现在变为三个参数  (图A是我在实际应用中遇到的问题和使用方法 有兴趣的可以研究一下 也可以提一下意见)

1.打开App的URL

2.可选字典参数(请参见以下有效条目)。传入一个空字典可以达到openURL:一样的行为。

3.执行成功后completionhandler在主队列中回调。如果你并不关心它的返回状态也可以传空。


A


1)创建两个项目AppOne和AppTow 这一步起好名字可以好区分就可以了  

2)配置AppOne和AppTow

图1 图2

如图配置好URL Schemes 如果你只想AppOne 跳转到AppTow  就可以值配置AppTow 。AppOne这里可以为空 

3)如果是ios9之前 这样就配置就完成了  但是如果是ios9之后的系统  则需要加入白名单否则App跳转会失败 需要做下图的白名单配置

图3

在项目plist文件里面  增加LSApplicationQueriesSchemes数组  把允许跳转的URL Schemes增加到这个数组里面即可

5)代码

图4

如图配置好 AppDelegate里面的application: openURL: options:代理方法

这个方法是当有App跳转过来的时候会调用  如果跳转过来的App有参数 也可以从这个方法里面接受解析出来做后续操作  如自己App跳转到支付宝支付宝根据我们app传入的操作做后续的支付或者其他操作等  并且传的参数可以为图片或者其它类型的!(大家可以看看作者icetime17 的文章研究一下 )

图5

下面就是跳转了  实际跳转中 我们需要判断一下设备是否安装了 我们要跳转的App  根据[[UIApplicationsharedApplication]canOpenURL:ourURL]来判断  如果安装了  就可以使用我们上面说的  ios10之前和之后的方法进行 跳转了  ios10之后的跳转可以在block里面做跳转成功后的操作 

下面是我简单写的两个demo  不喜勿碰

JumpApp

相关文章

网友评论

      本文标题:ios两个App之间互相跳转传值

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