已有应用程序
AppStore里面找到应用程序,点击应用程序下面的小三角图标,再选择”复制链接“,就可以获取此应用的链接了。
比如:itunes.apple.com/cn/app/bai-du-wen-kuhd/id483064532?mt=8然后将 https:// 替换为 itms:// 或者 itms-apps://:
itms://itunes.apple.com/gb/app/yi-dong-cai-bian/id391945719?mt=8
itms-apps:// itunes.apple.com/gb/app/yi-dong-cai-bian/id391945719?mt=8
然后在程序中写如下代码:
[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"itms://itunes.apple.com/cn/app/bai-du-wen-kuhd/id483064532?mt=8"]];[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"itms-apps:// itunes.apple.com/gb/app/yi-dong-cai-bian/id391945719?mt=8"]]
注意:只能在真机上调试出效果,模拟器上无效果。
下面附赠主要代码:
在本APP的.m文件中,主要代码有
<span style="font-size:18px;"> // 本App跳转到SecondApp - (IBAction)appJumpToAnotherAppAction:(id)sender { NSURL *url = [NSURLURLWithString:@"shanshan.SecondApp://AAAA"];//通过openUrl进行跳转,可以传递一些参数 if ([[UIApplication sharedApplication]canOpenURL:url]) { [[UIApplication sharedApplication]openURL:url]; }else{ NSLog(@"应用程序未安装"); } } // 本App跳转到AppStore - (IBAction)AppChangeToAppStore:(id)sender { [[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"itms://itunes.apple.com/cn/app/bai-du-wen-kuhd/id483064532?mt=8"]]; [[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"itms-apps:// itunes.apple.com/gb/app/yi-dong-cai-bian/id391945719?mt=8"]]; } 在SecondAPP AppDelegate 中的主要代码 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { if ([[urlscheme]isEqualToString:@"shanshan.SecondApp"]) { NSLog(@"从%@跳转过来的 - %@",sourceApplication,[url resourceSpecifier]); self.otherString = [[[urlresourceSpecifier]componentsSeparatedByString:@"//"]objectAtIndex:1]; NSLog(@"传递过来的参数 = %@",self.otherString); } return YES; }</span>
转:http://www.mamicode.com/info-detail-106580.html
两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的。
1.首先设置第一个APP的url地址
2.接着设置第二个APP的url地址
3.需要跳转的时候
NSString *urlString = [NSString stringWithFormat:@"AppJumpSecond://%@",textField.text]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
我这里将textField的文字也传过去
同样的,在第二个页面也是如此
NSString *urlString = [NSString stringWithFormat:@"AppJumpFirst://%@",textField.text]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
这样就能相互跳转了
4.处理传过去的数据
在上面传了textField的数据,接收时在AppDelegate的
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation方法里。
在AppDelegate里设置属性
@property (nonatomic, strong) RootViewController *rvc;
在didFinishLaunchingWithOptions方法里添加
self.rvc = [[RootViewController alloc] init]; UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:self.rvc]; self.window.rootViewController = nc;
添加代码块
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { self.rvc.textField.text = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; return YES; }
使得textField显示另一个页面传过来的数据。