IOS 应用跳转 (IOS9白名单)
跳转到指定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;
}
效果图七如下

IOS 应用跳转 (IOS9白名单)的更多相关文章
- iOS9 白名单问题 -canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
[iOS开发]-canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query fo ...
- ios ionic3 跳转第三方地图 xcode加入白名单
之前我有篇随笔讲的是ionic3应用内跳转第三方地图应用的方法 忘了记录在ios内是需要把你用到的第三方地图应用加入跳转URL白名单内的 第三个是高德地图 iosamap 第四个是百度地图 baidu ...
- iOS - 白名单应用间相互跳转
1. 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景.这就需要我们掌握iOS应用程序之间的相互跳转知识. 下面来看看我们在开发过程中遇到的应用 ...
- iOS9 URL Schema 白名单 微信
近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装. 受此影响,当你的应用在 ...
- 适配iOS9遇到的一些问题_Scheme白名单_ Bitcode及解决办法
升级Xcode7 运行项目发现报错如下: 1.Scheme白名单问题 -canOpenURL: failed for URL: “weixin://app/wxdaae92a9cfe5d54c/” - ...
- 项目适配iOS9遇到的一些问题及解决办法 ,以及URL 白名单配置方法
1.网络请求报错.升级Xcode 7.0发现网络访问失败.输出错误信息 The resource could not be loaded because the App Transport Secur ...
- iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单
近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装. 受此影响,当你的应用在 ...
- ios9 URL Schemes列为白名单,才可正常检查其他应用是否安装
http://my.oschina.net/u/1244672/blog/512210 如果你在模拟器上运行可以能还会有以下报错: -canOpenURL: failed for URL: “weix ...
- iOS白名单设置
在做分享.支付的时候需要跳转到对应的app,这里有需要设置的白名单列表<key>LSApplicationQueriesSchemes</key> <array> ...
随机推荐
- DDD:关于模型的合法性,Entity.IsValid()合理吗?
背景 见过很多框架(包括我自己的)都会在实体的定义中包含一个IsValid()方法,用来判断实体的合法性,是否应该这样设计呢?本文就这个问题介绍一点想法,希望大家多批评. 实体能否处于“非法”状态? ...
- 想从事分布式系统,计算,hadoop等方面,需要哪些基础,推荐哪些书籍?--转自知乎
作者:廖君链接:https://www.zhihu.com/question/19868791/answer/88873783来源:知乎 分布式系统(Distributed System)资料 < ...
- sourceinsight技巧
Source Insight实质上是一个支持多种开发语言(java,c ,c++等等)的编辑器,只不过由于其查找.定位.彩色显示等功能的强大,常被我们当成源代码阅读工具使用. 所以,为了有效的阅读源程 ...
- "浅谈Android"第二篇:活动(Activity)
距离上一篇文章,过去有半个多月了,在此期间忙于工作,疏于整理和总结,特此写下这篇博文,来谈谈自己对Activity的理解.总所周知,Activity组件在Android中的重要性不言而喻,我们 ...
- ecshop中那些有意思的代码
1:返回数量为0的array,而不是null /** * 获得推荐商品 * * @access public * @param string $type 推荐类型,可以是 best, new, hot ...
- UWP开发入门(十三)——用Diagnostic Tool检查内存泄漏
因为.NET的垃圾回收机制相当完善,通常情况下我们是不需要关心内存泄漏的.问题人一但傻起来,连自己都会害怕,几个页面跳啊跳的,内存蹭蹭的往上涨,拉都拉不住.这种时候我们就需要冷静下来,泡一杯热巧克力. ...
- 非聚集索引中的临界点(Tipping Point)
什么是临界点? 注意,我要说的问题是非聚集索引的执行计划从Seek+Lookup变成Table/Clustered Index Scan的临界点.SQL Server的访问数据的IO最小单元是页. 我 ...
- IntelliTrace简介
解决无法复现bug所使用的策略是在遇到bug时捕获尽可能多的信息,在使用IntelliTrace进行调试时可以充分利用这些信息.最令人称道的一个功能在于bug本身可以自动修复. 打开IntelliTr ...
- 看看如何面试前端工程师:Github很重要
从程序员的角度提出要去学习哪些知识,下面这篇文章从面试官的角度介绍到面试时可能会问到的一些问题.不过我想先给你们一个忠告,招聘是一件非常艰巨的任务,在45分钟内指出一名侯选人是否合适是你需要完成的任务 ...
- Web前端开发十日谈
=========================================================================== 原文章: http://kb.cnblogs.c ...