本文讲述两个应用之间的跳转以及数据的传递。
一、简单的跳转
新建两个应用:假定新浪和网易
实现目标:点击新浪上的按钮能够跳转到网易,在点击网易上的按钮能够返回到新浪
1、定义新浪网易的URL Schemes
新浪:网易:
2、实现应用的跳转
//新浪跳转网易代码:
- (IBAction)openWangYi {
// 1.获取application对象
UIApplication *app = [UIApplication sharedApplication];
// 2、在应用程序跳转中, 只要有协议头即可, 路径可有可无
NSURL *url = [NSURL URLWithString:@"wangyi://"];
// 3.利用application打开URL
if ([app canOpenURL:url]) {
[app openURL:url];
}else
{
}
}
//跳转到网易后,网易执行的函数:
/**
* 当被其他应用程序通过URL打开时就会调用
*
* @param application 当前的应用程序
* @param url 打开当前程序的URL
*
* @return 是否成功处理
*/
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return YES;
}
/**
* 当被其他应用程序通过URL打开时就会调用(新方法)
*
* @param application 当前的应用程序
* @param url 打开当前程序的URL
* @param sourceApplication 打开当前程序的Bundle identifier
* @param annotation
*
* @return 是否成功处理
*/
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
#warning 注意: 如果实现了新方法, 旧方法旧失效了
return YES;
}