iOS开发应用之间的跳转

释放双眼,带上耳机,听听看~!

 

从以下三个方面介绍:

  • app应用间跳转的原理解析
  • 如何实现两个app应用之间的跳转
  • 如何实现两个app之间跳转到指定界面

app应用间跳转的原理解析

从一个应用跳转到另一个应用大家并不陌生,最常见的莫过于第三方登录,支付宝支付等等。这些东西大家都耳熟能详,集成进来也很简单,跟着第三方sdk集成文档一步步走下来就是了,通常sdk集成文档都需要你在工程中配置一堆堆的东西。

比如下面这个,第三方登录或分享需要你配置的URL Schemes

所谓的配置 URL Schemes,就是在配置两个app之间跳转的协议。

其他必要的概念

1.协议:双方互相遵守的一种规范,只有遵守共同的协议规范才能进行彼此的通信。比如我们最熟悉的网络协议——http协议。
2.URL:资源的路径或地址。在IOS中有一个专门用于包装资源路径的类——NSURL。
3.一个完整URL的组成

例如

“http://93.12.14.1/path?page=100”
“http://”: 协议类型
“123.0.0.1”: 服务器ip地址
“/path”: 资源存放的是路径
“page=100”: 请求的参数

代码示例:

NSURL *url = [NSURL           URLWithString:@"http://93.12.14.1/path?page=100"];
NSLog(@"协议 = :%@",url.scheme);
NSLog(@"域名 = :%@",url.host);
NSLog(@"路径 = :%@",url.path);
NSLog(@"参数 = :%@",url.query);

跳转原理

在iOS中,从一个app打开另一个app,这必然牵扯到两个app之间的交互和通信,像这种涉及到整个应用程序层面的事情,苹果有一个专门的类来管理——UIApplication。

/**
通过应用程序打开一个资源路径
@param url 资源路径的地址
@return 返回成功失败的信息
*/
- (BOOL)openURL:(NSURL*)url;
它的一些我们非常熟悉的用法:
//拨打系统电话
NSURL *url = [NSURL URLWithString:@"tel://10086"];
[[UIApplication sharedApplication] openURL:url];
//发送系统短信
NSURL *url = [NSURL URLWithString:@"sms://1383838438"];
[[UIApplication sharedApplication] openURL:url];

这里执行的跳转系统电话以及跳转系统短信,其实就是两个app之间的跳转,实现原理是一样的。

人已赞赏
iOS文章

iOS开发UITableview 刷新指定的某一个section或cell

2020-1-28 11:35:15

iOS文章

iOS开发关于深拷贝、浅拷贝和可变拷贝

2020-1-28 13:00:00

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索