實現效果:應用app1的一個按鈕點擊,進入應用app2應用。
主要代碼:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"app2://"]];
具體步驟如下:
1.先給app2添加一個URL Schemes:app2.
1.app2添加URL Schemes.png
3.app1代碼:找到info.plist,添加LSApplicationQueriesSchemes,添加app2的URL Schemes,這句話很重要!!:
2.給app1的info.plist添加app2的url schemes.png
3.給app1的按鈕點擊事件寫上這句話即可:
- (IBAction)ClickOpenUrlAction:(id)sender {
//打開app2:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"app2://"]];
}
4.先運行app2,再運行app1,點擊app1的按鈕,就可以打開app2的應用了。
【拓展】:
如果想要打開app2的時候給app2傳遞參數,可以在“// ”后面寫上,如: [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"app2://id=22&&name=mmmm"]];
這樣就實現了第一步打開要調用的應用,app2://就是本地的url,后面的參數則是你要傳遞的參數,這是為了后面打開應用中指定的頁面做準備。
1.app1項目打開app2應用:
//打開app2:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"app2://id=22&&name=mmm"]];
2.app2項目的appdelete.m文件代碼接收參數:
//應用未在后臺執行走這里
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
if (launchOptions!=nil){
[launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
NSURL *url = [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey];
if(url)
{
NSString *urlString=[NSString stringWithFormat:@"%@",url];
[[NSUserDefaults standardUserDefaults] setObject:urlString forKey:@"url"];
}
}
return YES;
}
//應用后臺運行的話會走這里
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
NSLog(@"輸出%@",url);
NSString *urlString=[NSString stringWithFormat:@"%@",url];
[[NSUserDefaults standardUserDefaults] setObject:urlString forKey:@"url"];
return YES;
}
//應用后臺運行的話會走這里
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
NSLog(@"ddd輸出%@",url);
NSString *urlString=[NSString stringWithFormat:@"%@",url];
[[NSUserDefaults standardUserDefaults] setObject:urlString forKey:@"url"];
return YES;
}
如圖:
app2接收參數.png
參考:
1.http://blog.csdn.net/lh_work/article/details/25197781
2.http://www.cnblogs.com/-zhangwy/p/6026040.html