app 之间跳转和传参;

首先 创建2个app   formApp (需要跳转到另外app的项目)     toApp(被跳转的项目)

一:在toApp 项目中的操作:

1:创建URLSchemes ,

(1).打开info.plist文件,

2. 在appdelegate.m 中

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
/**
如果使用URL 传参数
*/
NSLog(@"----formApp_URL:%@",url); /**
如果使用的是剪切板传参的话,
*/
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
NSString *content = pasteboard.string;
NSLog(@"剪切板获取参数:%@",content); /**
其他操作
*/ return YES;
}

二:在formApp中的操作

1.检测 设备 是否安装了toApp 了,并跳转

/**
跳转操作
*/
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
/**
toApp Schemes://
*/
NSString *toAppSchemes = @"willToAppURLSchemes://"; /**
检测设备 是否安装toApp
*/
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:toAppSchemes]]) { NSLog(@"alearly install"); /**
跳转app
*/ /**
1:使用URL 传递参数
*/
if ([self IOS10]) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@?usrid=110",toAppSchemes]] options:@{} completionHandler:^(BOOL success) {
/**
 成功跳转后的操作
*/
}];
}else{ [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@?usrid=110",toAppSchemes]]];
} // /**
// 2:使用剪切板传递参数
// */
// [[UIApplication sharedApplication] openURL:[NSURL URLWithString:toAppSchemes]];
// /**
// 系统剪切板 (在topApp中 接受到参数后,清空)
// */
// UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
// pasteboard.string = @"user=120&orderid=123456"; }else{ NSLog(@"not install");
}
} /**
判断 系统是否 大于10
*/
- (BOOL)IOS10
{
return ([[[UIDevice currentDevice] systemVersion] floatValue]) >= ? YES : NO;
}

2:注意 在检测是否安装时,在xcode7 和iOS9 之后 需要设置白名单,

打开formApp info.plist文件,添加 LSApplicationQueriesSchemes

这样就可以成功检测到 是否安装toApp了,

3. 在传参数的方式 除了 URL,剪切板,还有钥匙串等,想知道更多的方式或详细的,可以搜索--> app之间的通信

app之间的跳转和传参问题的更多相关文章

  1. js 页面之间的跳转、传参以及返回上一页

    js实现html 页面之间的跳转传参以及返回上一页的相关知识点 一.页面之间的跳转传参 1.在页面之间跳转的方式有两种: window.location.href="test.html?nu ...

  2. 微信小程序和微信小程序之间的跳转和传参示例代码附讲解

    一:微信小程序跳转 使用限制 需要用户触发跳转 从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序. 需要用户确认跳转 从 2.3.0 版本开始,在 ...

  3. (day68)Vue-CLI项目、页面跳转和传参、生命周期钩子

    目录 一.Vue-CLI (一)环境搭建 (二)项目的创建 (三)项目目录结构 (四)Vue组件(.vue文件) (五)全局脚本文件main.js(项目入口) (六)Vue请求生命周期 二.页面跳转和 ...

  4. flutter页面间跳转和传参-Navigator的使用

    flutter页面间跳转和传参-Navigator的使用 概述 flutter中的默认导航分成两种,一种是命名的路由,一种是构建路由. 命名路由 这种路由需要一开始现在创建App的时候定义 new M ...

  5. JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参

    <script src="jquery.min.js" type="text/javascript"></script> <scr ...

  6. iOS中两个APP之间的跳转和通信

    app间的跳转 一:在第一个app首先要做下面这些操作: 1.在info.plist文件中的Information Property List下添加一项:URL types. 2.点开URL type ...

  7. iOS APP之间到跳转,以及热门应用,手机自带到应用跳转

    应用之间的跳转 在第一个APP中,做如下操作:1.在info.plist文件中的"信息属性列表"下添加一项:"URL类型"; 2.点开"URL类型&q ...

  8. 微信小程序开发:学习笔记[8]——页面跳转及传参

    微信小程序开发:学习笔记[8]——页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...

  9. spring mvc controller间跳转 重定向 传参(转)

    spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...

随机推荐

  1. Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml) -- 样例(6)

    managed-schema 样例: <?xml version="1.0" encoding="UTF-8" ?> <!-- License ...

  2. CF 980D Perfect Groups(数论)

    CF 980D Perfect Groups(数论) 一个数组a的子序列划分仅当这样是合法的:每个划分中的任意两个数乘积是完全平方数.定义a的权值为a的最小子序列划分个数.现在给出一个数组b,问权值为 ...

  3. 洛谷P4121 [WC2005]双面棋盘(线段树套并查集)

    传送门 先膜一下大佬->这里 据说这题正解是LCT,然而感觉还是线段树套并查集的更容易理解 我们对于行与行之间用线段树维护,每一行内用并查集暴力枚举 每一行内用并查集暴力枚举连通块这个应该容易理 ...

  4. C#线程入门(一)

    入门 概述与概念 创建和开始使用多线程 线程同步基础 同步要领 锁和线程安全 Interrupt 和 Abort 线程状态 等待句柄 同步环境 使用多线程 单元模式和Windows Forms Bac ...

  5. Could not find iPhone X simulator

    Could not find iPhone X simulator Error: Could not find iPhone X simulator at resolve (/Users/zhouen ...

  6. Exadata SL6 是个什么鬼?

    就在 前两天,ORACLE的Exadata家族又发布了一个新成员:SL6. 变化上给人最直观的感觉是:从以前的X86架构变成了SPARC架构. Exadata Database Machine SL6 ...

  7. linux下生成随机密码

    常见的简单的两种方法 1.openssl rand -base64 32 2.date | md5sum

  8. CollectionUtils.select 集合筛选

    import org.apache.commons.collections.CollectionUtils;import org.apache.commons.collections.Predicat ...

  9. Testlink安装后配置修改

    1.1. config.inc.php 1.1.1. 日志路径配置 /** *  @var string Path to store logs - *for security reasons (see ...

  10. 11-----broder(边框)

    边框 border:边框的意思,描述盒子的边框 边框有三个要素: 粗细 线性样式 颜色 如果颜色不写,默认是黑色.如果粗细不写,不显示边框.如果只写线性样式,默认的有上下左右 3px的宽度,实体样式, ...