一、創建兩個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;
}