跳转到指定app的实现

IOS中应用的跳转是通过URL实现的,因此在实现应用跳转之前我们要设置一下对应的URL。

图一(寻找配置软件的URL)

图二(具体配置选项)

注意:

如果IOS版本为IOS9 我们需要为app设置白名单。

实现跳转的前提是有这个app,因此我们需要把被跳转的app先运行,即安装到模拟器中。

如图三(在info中添加)

效果图四

代码:

//
// ViewController.m
// X
//
// Created by ma c on 16/4/9.
// Copyright © 2016年 bjsxt. All rights reserved.
// #import "ViewController.h" @interface ViewController ()
@property (weak, nonatomic) IBOutlet UIButton *button; @end @implementation ViewController
- (IBAction)GoU:(id)sender { //获取跳转app的URl
NSURL * url = [NSURL URLWithString:@"U://"];
//判断手机中是否安装了对应的app
if ([[UIApplication sharedApplication] canOpenURL:url]) {
//打开应用程序
[[UIApplication sharedApplication]openURL:url];
}
}
- (void)viewDidLoad {
[super viewDidLoad];
}
@end

为了证明实现的是app之间的跳转:另附两张app的故事板截图

X:图五

U:图六

跳转到指定页面的实现

前提:我们想要从X跳转到U的朋友圈。

那么X的代码如下:

//
// ViewController.m
// X
//
// Created by ma c on 16/4/9.
// Copyright © 2016年 bjsxt. All rights reserved.
// #import "ViewController.h" @interface ViewController ()
@property (weak, nonatomic) IBOutlet UIButton *button; @end @implementation ViewController
- (IBAction)GoU:(id)sender { //获取跳转app的URl
NSURL * url = [NSURL URLWithString:@"U://"];
//判断手机中是否安装了对应的app
if ([[UIApplication sharedApplication] canOpenURL:url]) {
//打开应用程序
[[UIApplication sharedApplication]openURL:url];
}
}
- (IBAction)GoFriend:(id)sender {
//获取跳转朋友圈的URl
NSURL * url = [NSURL URLWithString:@"U://friend"];
//判断手机中是否安装了对应的app
if ([[UIApplication sharedApplication] canOpenURL:url]) {
//打开朋友圈
[[UIApplication sharedApplication]openURL:url];
}
}
- (void)viewDidLoad {
[super viewDidLoad];
}
@end

我们不能仅仅对X进行设置更要对U进行设置。

对U的代码操作在Appdeledate中。

代码如下:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{

    //将url转为字符串
NSString * urlString = url.absoluteString;
//判断是通过什么跳转过来的
if ([urlString containsString:@"friend"]) {
NSLog(@"在这里执行页面跳转即可。");
}
return YES;
}

效果图七如下

最新文章

  1. JavaWeb_day05cookie_session_HttpSession
  2. POI完美解析Excel数据到对象集合中(可用于将EXCEL数据导入到数据库)
  3. genymotion和eclipse连接问题,一直出错
  4. Understanding, Operating and Monitoring Apache Kafka
  5. AutoCAD2007专业版
  6. NOI考前乱写
  7. 基于mAppWidget实现手绘地图(十五)–如何控制放大缩小
  8. ios录音Demo
  9. linux 下 查看是32位还是64位系统 命令
  10. Linux安装.net core
  11. IO流(4)—字符流
  12. 20170906xlVBA_CopyDataAndFormatFromSheets
  13. Python输出9*9 乘法表
  14. C++中的友元函数和友元类
  15. 转 PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
  16. 差分+树状数组【p4868】Preprefix sum
  17. 常用的http网页错误代码表---------495引发的一个简单到爆,但基于国内环境只能呵呵呵的血案
  18. Ajax获取服务器响应头部信息
  19. ES6中const的用法
  20. 用Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围

热门文章

  1. Asp.net Mvc4 使用Cas单点登录
  2. 4.3.3版本之引擎bug
  3. JavaScript手札:《编写高质量JS代码的68个有效方法》(一)(1~5)
  4. nodejs之获取客户端真实的ip地址+动态页面中引用静态路径下的文件及图片等内容
  5. asp.net JavaScriptSerializer实现序列化和反序列化
  6. C#设计模式——生成器模式(Builder Pattern)
  7. VS &quot;15&quot; 预览 5 中 VB 15 新增的功能
  8. C#为工作Sql而产生的字符串分割小工具(很实用,你值得拥有)
  9. 二、SQL语句映射文件(1)resultMap
  10. python 任意新闻正文提取