iOS两个App应用之间的跳转
来源:互联网 发布:淘宝联盟返利高吗 编辑:程序博客网 时间:2024/04/29 17:44
开发iOS项目的时候,有可能会遇到两个APP应用相互调用的需求,比如说:支付宝支付......等等。
下面来详细介绍实现的步骤:
1,添加URL Types项
a,打开项目中info.plist文件,在infomation property list项下面增加一项URL Typs
2,配置URL Scheme
a,展开URL types,再展开Item1,将Item1下的URL identifier修改为URL Scheme
b,展开URL Scheme,将Item1的内容修改为myapp
(其他应用可通过”myapp://“来访问此自定义URL的应用程序)
3,其他应用的跳转
作为调用者的我,需要通过:
1
2
3
NSString *paramStr = [NSString stringWithFormat:@
"myAppTest://username=%@&age=%@&address=%@"
, @
"test123"
, @
"100"
, @
"上海市"
];
NSURL *url = [NSURL URLWithString:[paramStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];
这段代码来跳转目标应用并传递参数。
4,参数的接收
那么作为一个Provider怎么去接收Customer传递过来的参数呢?
首先,在找到项目中的AppDelegate.m文件,然后找到openURL方法(如果没有就去实现它)。OK,到这里你已经完成了90%了,接着继续
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- (
BOOL
)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSString *urlStr = [url absoluteString];
if
([urlStr hasPrefix:@
"myAppTest://"
]) {
NSLog(@
"TestAppDemo1 request params: %@"
, urlStr);
urlStr = [urlStr stringByReplacingOccurrencesOfString:@
"myAppTest://"
withString:@
""
];
NSArray *paramArray = [urlStr componentsSeparatedByString:@
"&"
];
NSLog(@
"paramArray: %@"
, paramArray);
NSMutableDictionary *paramsDic = [[NSMutableDictionary alloc] initWithCapacity:0];
for
(
int
i = 0; i < paramArray.count; i++) {
NSString *str = paramArray[i];
NSArray *keyArray = [str componentsSeparatedByString:@
"="
];
NSString *key = keyArray[0];
NSString *value = keyArray[1];
[paramsDic setObject:value forKey:key];
NSLog(@
"key:%@ ==== value:%@"
, key, value);
}
}
return
NO;
}
通过本身自定的参数拼接规则,来解析参数。
到这里已经完成了应用之间的跳转,怎么样是不是很简单?
附录:常用iOS URL Scheme
iOS默认:
常用第三方软件:
com.ucweb.iphone.lowversion海豚浏览器:dolphin://com.dolphin.browser.iphone.chinese欧朋浏览器:ohttp://(后要接地址,不然出错)com.oupeng.mini搜狗浏览器:SogouMSE://com.sogou.SogouExplorerMobile百度地图:baidumap://
bdmap://com.baidu.map百度地图:bdmap://com.baidu.mapChrome:googlechrome://优酷:youku://京东:openapp.jdmoble://人人:renren://美团:imeituan://1号店:wccbyihaodian://我查查:wcc://有道词典:yddictproapp://知乎:zhihu://点评:dianping://
dianping://search微盘:sinavdisk://豆瓣fm:doubanradio://网易公开课:ntesopen://名片全能王:camcard://淘宝宝贝搜索taobao://http://s.taobao.com/?q=[prompt]淘宝店铺搜索taobao://http://shopsearch.taobao.com/browse/shop_search.htm?q=[prompt]
0 0
- IOS两个App应用之间的跳转
- IOS两个App应用之间的跳转
- iOS两个App应用之间的跳转
- iOS两个App应用之间的跳转
- iOS两个app应用之间的互相跳转
- IOS中,两个APP之间的跳转!
- iOS 两个app之间的跳转
- iOS 两个app之间的跳转
- IOS---两个APP之间的跳转
- ios-两个应用之间的跳转
- 两个app之间的跳转
- iOS中两个APP之间的跳转和通信
- iOS两个APP之间的跳转和传值
- iOS两个APP之间的数据传递和跳转
- iOS开发-两个APP之间跳转、传值
- iOS 两个APP之间互相跳转
- iOS应用之间跳转 本篇博文将涉及到以下知识点: app应用跳转的原理解析 如何实现两个app应用之间的跳转 如何实现两个app之间跳转到指定界面 二、应用跳转原理 相信从一个应用跳转到另一个应用
- iOS两个应用之间相互跳转
- WEB自动化测试通过xpath定位的精度问题
- c++中的转码函数
- python中super函数用法
- Git 常用命令
- ClientId and groups recommendation
- iOS两个App应用之间的跳转
- 十条jQuery代码片段助力Web开发效率提升
- EM2040D和Reson7125的比较
- Ubuntu中添加应用程序快速启动器的方法
- BZOJ 4510|USACO 2016 Jan Gold|Ratio Contact|动态规划
- unity各种路径
- 个人对设计模式的理解-->桥接模式
- mac gradle 环境变量的配置
- Android基础:Android中的action category type