iOS开发 - 应用内打开第三方应用并传值
首先说下这个功能, 应该都有接触过。
比方,你下载了一个电子书,然后选择打开方式的时候,可能会看到你手机中已经安装的阅读类App。
或者,你的QQ收到了某个文件,你也能够选择本地的应用来打开。
那这种功能,是怎么实现的呢?
简单来说。就是调用URL来实现第三方应用的开启。
首先,被打开的应用须要提供这个功能, 也就是,它须要注冊一个 URL Schemes,供第三方使用。
假设你想你的应用被调用, 你能够这样设置。
在 xxxx info.plist 文件里, 加入例如以下属性
相似这样:
注意, 这里的URL Schemes必填, URL identifier选填。
另外,URL Schemes建议都小写,由于之后接收到数据的时候,不区分大写和小写, 都是转为小写。
规定的格式是 URL Schemes://URL identifier
之后, 你须要在 Appdelegate.m中加入例如以下代码, 来处理接受到请求后做出的处理
//处理URL请求
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
NSLog(@"%@", url); if ([[url scheme] isEqualToString:@"myurltest"])
{
//处理链接
NSString *text = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
UIAlertView *myAlert = [[UIAlertView alloc]initWithTitle:@"新消息" message:text delegate:self cancelButtonTitle:@"知道了" otherButtonTitles: nil];
[myAlert show]; return YES;
} return NO;
}
这里我写了个示范, 推断是否是打开本应用的URL, 假设是, 就弹出一个警告框,显示传来的数据。
当然,传来的数据要怎么处理, 那看你自己了。
之后, 第三方应用就能够直接调用打开它了。
我们做个简单示范, 用Safari来直接打开。
这里输入myurltest://hello 表示打开的应用的URL Schemes是 myurltest, 传入的数据是hello
当然, 在应用中打开,我们能够使用例如以下方法:
NSURL *url = [NSURL URLWithString:@"myurltest:"];
[[UIApplication sharedApplication] openURL:url];
另外, 顺便Mark一下一些已知的应用的URL Schemes
iOS开发 - 应用内打开第三方应用并传值的更多相关文章
- iOS开发苹果内购的介绍与实现
1.iOS开发苹果内购的介绍 1.1 介绍 苹果规定,凡是虚拟的物品(例如:QQ音乐的乐币)进行交易时,都必须走苹果的内购通道,苹果要收取大约30%的抽成,所以不允许接入第三方的支付方式(微信.支付宝 ...
- iOS开发系列——内购、GameCenter、iCloud、Passbook系统服务开发汇总
社交 Social 现在很多应用都内置“社交分享”功能,可以将看到的新闻.博客.广告等内容分享到微博.微信.QQ.空间等,其实从iOS6.0开始苹果官方就内置了Social.framework专门来实 ...
- ionic3 应用内打开第三方地图导航 百度 高德
1.安装检测第三方APP是否存在的插件 cordova plugin add cordova-plugin-appavailability --save npm install --save @ion ...
- iOS开发 使用Cocoapods管理第三方类库
每次上github看到一些优秀的代码,总能看到Podfile,也了解是个管理第三方类库的,今天抽时间学习了一下,挺简单的! 作用: 太多 还是复制一下把!!! CocoaPods是什么? ...
- iOS开发---集成ShareSDK实现第三方登录、分享、关注等功能。
(1)官方下载ShareSDK IOS 2.9.6,地址:http://sharesdk.mob.com/Download (2)根据实际情况,引入相关的库,参考官方文档. (3)在项目的AppDel ...
- iOS开发中用到的第三方库概览
前言:记录一下使用过和接触过的第三方库,重要程度与顺序无关 网络请求: AFNetworking:AFNetworking is a delightful networking library for ...
- IOS开发中有用的第三方库
#Objective-C中最受瞩目库 [链接](https://github.com/languages/Objective-C/most_watched) * [three20](https:/ ...
- iOS开发--即时通讯常用第三方库
前言 自毕业到现在,从事iOS即时通讯开发已经1年半之久.主要负责Allure开发,目前已上架,可以在苹果商店搜素Allure.Allure模仿微信的交互和设计效果,已经实现微信的大部分功能. 在这里 ...
- ios开发之--条用第三方地图路线导航
项目里面有位置功能,需要有导航,导航两种实现方式 (集成第三方SDK.URL跳转第三方应用) ,直接集成就不说,下面来说下通过url跳转, 最终效果如如下: 如果手机上安装的有客户端就展示,没有就不展 ...
随机推荐
- hdoj Pipe&&南阳oj管道问题&&poj1039(计算几何问题...枚举)
Pipe Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 西门子PLC学习笔记二-(工作记录)
今天师傅给讲了讲做自己主动化控制的总体的思路,特进行一下记录,做个备忘. 1.需求分析 本次的项目是对楼宇循环供水的控制,整个项目须要完毕压力.压差.温度等的获取及显示.同一时候完毕电机的控制. 2. ...
- [week2]每周总结与工作计划
这周总体过的还不错吧,没有颓废多少 = =... 果然有计划能够让效率提高,看了每周做个计划是很有益的. 这周前几天照例很忙,课比较多.后面几天每天早上都会安排下今天的计划,这样做起事来就有条理性多了 ...
- BZOJ 2718: [Violet 4]毕业旅行( 最长反链 )
一不小心速度就成了#1.... 这道题显然是求最长反链, 最长反链=最小链覆盖.最小链覆盖就是先做一次floyd传递闭包, 再求最小路径覆盖. 最小路径覆盖=N - 二分图最大匹配. 所以把所有点拆成 ...
- BZOJ 1269: [AHOI2006]文本编辑器editor( splay )
splay..( BZOJ 1507 题目基本相同..双倍经验 ) ------------------------------------------------------------------ ...
- CSS Filter
支持的效果有: blur(模糊) grayscale(灰度) drop-shadow(阴影) sepia(褐色滤镜) brightness(亮度) contrast(对比) hue-rotate(色相 ...
- <climits>头文件使用方法
<climits>头文件定义的符号常量 CHAR_MIN char的最小值SCHAR_MAX signed char 最大值SCHAR_MIN signed char 最小值UCH ...
- ios7禁止默认划动返回
self.navigationController.interactivePopGestureRecognizer.enabled = NO; 或 在使用之前先要判断是否ios7,不然会导致crash ...
- mul16
设计思想:乘法运算本身就可以看做是一个移位相加的过程 1 1 0 1 0 = 26* 1 0 1 1 1 = 23 ...
- Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactory
Error creating bean with name ‘org.springframework.validation.beanvalidation.LocalValidatorFactoryBe ...