iOS开发 - 应用内打开第三方应用并传值
2023-09-14 09:08:14 时间
首先说下这个功能, 应该都有接触过。
比方,你下载了一个电子书,然后选择打开方式的时候,可能会看到你手机中已经安装的阅读类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 URL schemes 有哪些?
相关文章
- XCODE修改IOS应用的名称
- 【北京站】详解Visual Studio 2013:开发iOS及android应用!现场图集
- IOS应用版本更新(自动提醒用户)
- IOS之UI--自定义按钮实现代理监听点击事件
- iOS开发UI篇—在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
- iOS开发UI篇—ios应用数据存储方式(偏好设置)
- iOS远程推送之友盟Push
- 关闭IOS更新功能(ios4/5/6)
- IOS NSInvocation应用与理解
- IOS定位服务的应用
- iOS开发那些事-iOS应用本地化-资源文件本地化
- iOS开发那些事-iOS网络编程异步GET方法请求编程
- 《iPhone与iPad开发实战—iOS经典应用剖析》连载八
- 《iPhone与iPad开发实战—iOS经典应用剖析》连载六
- 《iPhone与iPad开发实战—iOS经典应用剖析》连载四
- iPhone与iPad开发实战——iOS 经典应用剖析视频--观看地址
- iOS不用上架就能下载安装ipa应用内测:使用FIR.im发布自己的移动端APP
- [转]iOS 应用内付费(IAP)开发步骤
- [Link]用HTML5/CSS3/JS开发Android/IOS应用
- ios 越狱后 重启springboard 命令
- iOS swift 蓝牙后台(在被系统杀死,或手动杀死情况下还可以进行通讯)ibeacon问题总结(小米9号)
- iOS swift window.rootViewController
- iOS 网络 HTTP(Hyper Text Transfer Protocol)超文本传输协议
- iOS swift Error Handling(throw trows)
- ios使用openUrl进行应用跳转
- ios inHouse 公布应用
- Swift开发iOS应用过程中的问题和解决记录
- 【iOS与EV3混合机器人编程系列之三】编写EV3 Port Viewer 应用监測EV3port数据