跳转到指定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白名单)的更多相关文章

  1. 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 ...

  2. ios ionic3 跳转第三方地图 xcode加入白名单

    之前我有篇随笔讲的是ionic3应用内跳转第三方地图应用的方法 忘了记录在ios内是需要把你用到的第三方地图应用加入跳转URL白名单内的 第三个是高德地图 iosamap 第四个是百度地图 baidu ...

  3. iOS - 白名单应用间相互跳转

    1. 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景.这就需要我们掌握iOS应用程序之间的相互跳转知识. 下面来看看我们在开发过程中遇到的应用 ...

  4. iOS9 URL Schema 白名单 微信

    近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装. 受此影响,当你的应用在 ...

  5. 适配iOS9遇到的一些问题_Scheme白名单_ Bitcode及解决办法

    升级Xcode7 运行项目发现报错如下: 1.Scheme白名单问题 -canOpenURL: failed for URL: “weixin://app/wxdaae92a9cfe5d54c/” - ...

  6. 项目适配iOS9遇到的一些问题及解决办法 ,以及URL 白名单配置方法

    1.网络请求报错.升级Xcode 7.0发现网络访问失败.输出错误信息 The resource could not be loaded because the App Transport Secur ...

  7. iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单

    近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装. 受此影响,当你的应用在 ...

  8. ios9 URL Schemes列为白名单,才可正常检查其他应用是否安装

    http://my.oschina.net/u/1244672/blog/512210 如果你在模拟器上运行可以能还会有以下报错: -canOpenURL: failed for URL: “weix ...

  9. iOS白名单设置

    在做分享.支付的时候需要跳转到对应的app,这里有需要设置的白名单列表<key>LSApplicationQueriesSchemes</key> <array> ...

随机推荐

  1. ruby -- 进阶学习(七)strong parameters之permitted.has_key

    简单例子: params = ActionController::Parameters.new(user: { name: 'Francesco', age: 22, role: 'admin' }) ...

  2. SharePoint 2013中规划企业搜索体系结构

    摘要:了解如何规划小型.中型或大型企业搜索体系结构. 设置企业搜索体系结构之前,需要仔细规划很多事项.我们将逐步帮助您规划小型.中型或大型企业搜索体系结构. 您是否熟悉 SharePoint 2013 ...

  3. Xcode-快捷键大全

    1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD+OPt+S:保存所有文件CMD + SHIFT + S: 另存为CMD + ...

  4. [git]修改commit

    git commit --amend 修改上一个的commit信息. git reset commit_id 修改commit,同时改变commit历史,可用于合并commit. git revert ...

  5. Android学习笔记之SoftReference软引用...

    PS:其实这一篇和上一篇很类似,都是为了解决内存不足(OOM)这种情况的发生... 学习内容: 1.对象的引用类....   最近也是通过项目中知道了一些东西,涉及到了对象的引用类,对象的引用类分为多 ...

  6. Windows及Linux平台下的计时函数总结

    本文对Windows及Linux平台下常用的计时函数进行总结,包括精度为秒.毫秒.微秒三种精度的各种函数.比如Window平台下特有的Windows API函数GetTickCount().timeG ...

  7. SQL Server技术问题之触发器优缺点

    优点: 1.强化约束:强制复杂业务的规则和要求,能实现比check语句更为复杂的约束. 2.跟踪变化:触发器可以侦测数据库内的操作,从而禁止数据库中未经许可的更新和变化. 3.级联运行:侦测数据库内的 ...

  8. <!DOCTYPE> 的理解

    [[ from <!DOCTYPE> 标签的深入理解 ]] 前言: 今天被问道“有没有仔细了解过<!DOCTYPE>标签?”,愣了一下,因为一开始在W3cschool上看到过建 ...

  9. 重构第8天:使用委托代替继承(Replace Inheritance with Delegation)

    理解:根本没有父子关系的类中使用继承是不合理的,可以用委派的方式来代替. 详解:我们经常在错误的场景使用继承.继承应该在仅仅有逻辑关系的环境中使用,而很多情况下却被使用在达到方便为目的的环境中. 看下 ...

  10. 详细介绍ASP.NET页面间数据传递的使用方法

    源码:http://www.jinhusns.com/Products/Download/?type=xcj 在ASP.NET中,页面间数据传递的方法有很多.下面为大家总结一下,页面间数据传递的方法. ...