项目配置实现打开第三方应用

1.需求:我们创建两个项目分别为TestDemo1何TestDemo2,现在需要在TestDemo1中通过一个按钮打开TestDemo2程序,需要下面这些配置;

2.配置信息:首先配置TestDemo2中的plist文件:

如下图所示:设置URL Schemes为music(URL Schemes建议都小写,因为之后接收到数据的时候,不区分大小写, 都是转为小写),URL identifier可选

在TestDemo2中的APPdelegate中添加下面这个方法

//处理URL请求
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    NSLog(@"%@", url);

    if ([[url scheme] isEqualToString:@"music"])
    {
        //处理链接
        NSString *text = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        UIAlertView *myAlert = [[UIAlertView alloc]initWithTitle:@"新消息" message:text delegate:self cancelButtonTitle:@"知道了" otherButtonTitles: nil];
        [myAlert show];

        return YES;
    }

    return NO;
}

3.然后配置TestDemo1中的plist文件:

TestDemo1中想打开TestDemo2程序可以调用下面的demo:

 NSString *telStr = @"music://test"; // 则需要打开的app就要配置这个协议

NSURL *url = [NSURL URLWithString:telStr];

UIApplication *app = [UIApplication sharedApplication];

BOOL canOpen = [app canOpenURL:url];

if (canOpen) { // 有安装app

BOOL isOpen = [app openURL:url];

NSLog(@"打开了app%d",isOpen);

} else { // 没有安装app

// 使用浏览器打开url

}

4.补充:如果使用模拟器,可能会报错:

LaunchServices: ERROR: There is no registered handler for URL scheme xxx

容易让人误解的是总以为自己缺少哪些东西没有配置,极有可能的问题是因为模拟器并未安装XXX所以才会导致。换成真机测试下即可

时间: 2024-10-09 14:58:14

项目配置实现打开第三方应用的相关文章

1 Angular 2 初始化项目配置

AngularJS2是一款JavaScript的开源框架,用于协助单一页面应用程序运行.AngularJS2 是 Angular 1.x 的升级版本,应Web的进化和前端开发的变革还有从Angular 1.x中得到的教训,性能上得到显著的提高,能很好的支持 Web 开发组件.AngularJS2 发布于2016年9月份,它是基于ES6来开发的,用ES2016的超集(TypeScript)编写的,但是Angular 2 也允许开发者用自己喜欢的语言去写代码,如果不喜欢对代码做预编译处理并且想简单构

ionic3 应用内打开第三方地图导航 百度 高德

1.安装检测第三方APP是否存在的插件 cordova plugin add cordova-plugin-appavailability --save npm install --save @ionic-native/app-availability                   这个可以根据项目的版本兼容性选择安装固定的版本号 我安装的是@3.4.2 在页面引入 AppAvailability 并进行判断  因为ios和android的包名不一样 所以进行了判断 import { Ap

vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境

目录 一.VUE项目的搭建 1. 环境搭建 2. 项目的创建和启动 二. 开发项目 1. 配置vue项目启动功能 2. 开发vue项目 (1)项目文件的作用 (2)vue项目开发流程 (3)vue项目的请求生命周期 三.vue项目中的功能 1. 路由相关的标签和方法 2. 路由配置 (1)无路由传参的路由配置方法 (2)路由传参的路由配置方法 3. 页面的跳转功能 (1)标签跳转 (2)逻辑跳转(路由跳转) 四.JS原型 五.vue组件生命周期钩子 六.vue的ajax插件:axios 七.vu

Code::Blocks项目配置基础

File 菜单 New :新建( Empty file/file . class . project . build target ) . Recent projects/files :最近打开的项目 / 文件 . Import projects : Dev-C++ Project . VC6 dsw/dsp . VC8 vcproj/sln . Ctrl+Shift+S : Save all files . Save workspace (as) :将多个项目组织成一个工作空间,类似 VC 的

Tomct7 为自己的项目配置域名

打开 E:\Tomcat 7.0\conf\server.xml 文件 , 找到 <Host ..> 节点 ,增加同级host节点 (注意, docBase属性的路径最好放到一个没有空格的目录里) <Host name="www.baidu.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="

理解 IntelliJ IDEA 的项目配置和Web部署

1.项目配置的理解 IDEA 中最重要的各种设置项,就是这个 Project Structre 了,关乎你的项目运行,缺胳膊少腿都不行.最近公司正好也是用之前自己比较熟悉的IDEA而不是Eclipse,为了更深入理解和使用,就找来各种资料再研究一下,这里整理后来个输出. 1.1 Project Project name:定义项目的名称: Project SDK:设置该项目使用的JDK,也可以在此处新添加其他版本的JDK: Project language level:这个和JDK的类似,区别在于

项目配置分析

前不久学习了下angular2的基础知识,按照官网要求构造了一个quik项目,这个项目能满足基本的angular开发,但对于实际大型的项目有很多功能都没有实现或者是没有很好的封装和简化,因此在网上搜到了这个项目 NiceFish  .这个项目的结构和功能非常强大,能满足几乎所有的项目实际需要.在这里感谢 -------大漠穷秋  ,接下来我将从架构组织,项目管理配置,代码组织等方面来具体分析这个项目,希望以此来弄清楚一个真正的web现代项目. 如下是整个项目的结构: angular-cli.js

Eclipse下Nodejs项目配置步骤

Eclipse下Nodejs项目配置步骤 方式一: Eclipse开发环境搭建前提条件: 1)Node.js已安装ok,环境变量已配置,可以使用node -v来校验是否安装和配置成功(打开cmd命令窗口,输入node -v,如果正确安装正确,则会输出安装的Node.js版本号):成功了以后,在命令窗口下执行命令: npm -v ,若Node.js安装成功的话,npm也是安装成功的,因为Node.js已经自带npm. 2)Eclipse已安装ok. 搭建步骤: 1. Eclipse插件:     

【CUDA】VS2017新项目配置

一.新建项目 打开VS2017 → 新建项目 → Win32控制台应用程序 → "空项目"打钩 二.调整配置管理器平台类型 右键项目 → 属性 → 配置管理器 → 全改为"x64" 三.配置生成属性 右键项目 → 生成依赖项 → 生成自定义 → 勾选"CUDA 9.0XXX" 三.配置基本库目录 注意:后续步骤中出现的目录地址需取决于你当前的CUDA版本及安装路径 右键项目 → 属性 → 配置属性 → VC++目录 → 包含目录,添加以下目录: