iOS笔记UI--app间跳转

本文介绍如何在iOS应用中使用openURL方法实现从Aapp跳转到Bapp的功能。通过为程序设置唯一的标识符,并在Bapp中配置相应的URL Scheme,可以实现在Aapp中调用特定的URL来启动并传递数据给Bapp。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们通过系统的openURL方法,可以从当前的app跳转到其他任意app去,包括系统自带的、以及我们开发的app。

本文模拟A app跳转到 B app

// A app
//  ViewController.m
//  程序跳转
//
//  Created by hhg on 15/10/23.
//  Copyright (c) 2015年 hhg. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    // 为我们的程序设置一个唯一的标识,那么其他软件就可以使用openURL方法通过唯一标识来打开我们的程序
    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"zapp:"]];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}
@end
//  B app
//  AppDelegate.m
//  MyApp
//
//  Created by hhg on 15/10/23.
//  Copyright (c) 2015年 hhg. All rights reserved.
//

#import "AppDelegate.h"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    return YES;
}

// 当其他程序通过openURL打开该程序的时候,会触发这个方法
// URL ,就是其他程序打开时候的URL
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"跳转成功!" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles: nil];
    [alertView show];
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
}

- (void)applicationWillTerminate:(UIApplication *)application {
}
@end

B app 在info.plist 文件里面需要设置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string></string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>zapp</string>
        </array>
    </dict>
</array>
</plist>

如图:
url设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值