两个APP之间实现跳转


已有应用程序

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>




ios俩个APP之间跳转、传值

转:http://www.mamicode.com/info-detail-106580.html


两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的。

1.首先设置第一个APP的url地址

bubuko.com,布布扣

2.接着设置第二个APP的url地址

bubuko.com,布布扣

 

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显示另一个页面传过来的数据。

 









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值