iOS应用内打开其他应用

  • 新建工程demo1,添加URL Types,填写 URL Schemes,如下图
Paste_Image.png
  • 在demo1的appDelegate.m文件中,实现代理方法,如下
#pragma mark
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    if (url)
    {
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:@"你唤醒了您的应用" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
        [alertView show];
    }
    
    return YES;
}
  • 新建工程Demo2,添加按钮,单击事件,方法如下
#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(30, 10, 90, 90);
    [btn setTitle:@"按钮" forState:UIControlStateNormal];
    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [btn setBackgroundColor:[UIColor lightGrayColor]];
//    [btn addTarget:self action:@selector(dragMove:withEvent:) forControlEvents:UIControlEventTouchDragInside];
    [btn addTarget:self action:@selector(btnAction) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];
}

//跳转到demo1
- (void)btnAction
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mahong://"]];
}

- (void)dragMove:(UIButton *)sender withEvent:(UIEvent *)event
{
    sender.center = [[[event allTouches] anyObject] locationInView:self.view];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

如果想跳转到appStore,则写法如下:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://"]];

附:[常用URL Schmes查询网站](http://handleopenurl.com/ 可以通过搜索主流app名称,找到URL Schemes,然后做应用内跳转,例如QQ的URL Schemes 为 mqq:open

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mqq:open//"]];
Paste_Image.png

推荐阅读更多精彩内容

  • 目标 平常我们做iOS开发,会经常遇到打开其他的APP的功能。本篇文章讲的就是打开别人的APP的一些知识。我们的目...
    橙娃阅读 6,168评论 0 5
  • 目标 平常我们做iOS开发,会经常遇到打开其他的APP的功能。本篇文章讲的就是打开别人的APP的一些知识。我们的目...
    谦言忘语阅读 176,739评论 78 309
  • APP的跳转: 通过[ [UIApplication sharedApplication] openURL:url...
    贪吃的猫cx阅读 7,415评论 5 28
  • 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景。这就需要...
    优雅地小男子阅读 763评论 0 0
  • 我们生活中遇到的所有事情基本可以分为三类,第一类纯粹由随机性决定,比如布朗运动和轮盘赌博,第二类纯粹由能力决定,比...
    素履无涯阅读 238评论 0 4
  • 文丨蔷薇下的阳光 以为对这天空许愿,流星就能听到我的呼唤…… 【常常发呆的她】 蓝星总喜欢一个人静静地对着天空发呆...
    蔷薇下的阳光阅读 272评论 0 3
  • 小镇路旁的饭馆,厚厚的干枯棕榈叶盖成了房顶,靠着小河与桥。一家三口顺着旁边斜坡走进去,他们在寻找安家落户的地方。小...
    大雨你快点阅读 213评论 0 1
  • 无论如何,从明天起,要开始更新这个我构思了一个多月的短篇。 再不写出来,也许再没机会说出我们的故事了。 有想象,当...
    劳柏幸阅读 114评论 0 0
  • "因为我刚好遇见你,留下足迹才美丽。" 第一次听到是在商场,当时的店铺地势略低,音响设备在头顶,就那么一瞬间,听...
    白树呐阅读 203评论 0 0