一、创建两个ios工程
与创建一般的工程没有区别分别创建两个ios工程app_a与app_b
二、App_A的URL schemes的时设置
1) app_a的配置文件的info目录
2) 在url types的目录的urlschemes起个名字这样第一个就完成了
三、App_B的按钮的实现
在初始加载的时候生成按钮的方法
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *App_B_Button = [UIButton buttonWithType:UIButtonTypeCustom];
App_B_Button.frame = CGRectMake(100, 100,100, 50);
App_B_Button.backgroundColor = [UIColor purpleColor];
[App_B_Button setTitle:@"App_B" forState:UIControlStateNormal];
[App_B_Button addTarget:self action:@selector(app_B:)forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:App_B_Button];
}
然后定义按钮的点击
-(void)app_B:(UIButton *)buttonB
{
NSURL *url = [NSURL URLWithString:@"appA://"];
[[UIApplication sharedApplication] openURL:url];
}
如果涉及到app启动的时候要传递参数在url中则要在application的代理实现方法中
//当应用程序被其他程序打开的时候会调用这个方法,在该方法中可以实现两个应用程序间的数据局传递 //通过这个代理方法可以拦截url
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSString *urlStr = [url absoluteString];
if ([urlStr hasPrefix:@"AppA://"]) {
urlStr = [urlStr stringByReplacingOccurrencesOfString:@"AppA://" withString:@""];//参数就在url,传值也在里面
}
return NO;
}