通过自定义的URL Scheme启动你的App
来源:互联网 发布:淘宝上传宝贝描述模版 编辑:程序博客网 时间:2024/05/17 03:47
iPhone SDK可以把你的App和一个自定义的URL Scheme绑定。该URL Scheme可用来从浏览器或别的App启动你的App。
如何响应从别的App里发给你的URL Scheme申请,由你决定:可以唤醒你的App;也可以传一些信息给你。
给自己的App注册一个URL Scheme非常简单,就是在info.plist文件里定义两个键值就OK。如下图所示:
- 添加一个叫URL types的键值。
- 给其下的Item 1添加一个URL identifier,格式为Reverse Domain Name:com.mycompany.myapp。
- 再加一个URL Scheme,然后给它定义一个值,任意字符串。比如:myapp。
定义结束,就可以使用下面的模式来发送一个URL:
myapp://
myapp://some/path/here
myapp://?foo=1&bar=2
myapp://some/path/here?foo=1&bar=2
然后,你的App的UIApplicationDelegate会收到一个消息。若你想自己处理该URL,可以重载下面这个方法:
- - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
- {
- // Do something with the url here
- }
例如,把传过来的URL保存在本地:
- - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
- {
- if (!url)
- {
- return NO;
- }
- NSString *URLString = [url absoluteString];
- [[NSUserDefaults standardUserDefaults] setObject:URLString forKey:@"url"];
- [[NSUserDefaults standardUserDefaults] synchronize];
- return YES;
- }
Add Row URL types,然后按照上面的设置,URL identifier 自定义,item(todolist部分) 自定义;
上面显示item1实际为item0;
下面的为接收到外部调用的时候程序启动,响应方法,在safari输入:todolist://com.acme.ToDoList ,
- - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
- if ([[url scheme] isEqualToString:@"todolist"]) {
- NSLog(@"外部调用成功");
- }
- return YES;
- }
下面的为自身调用safari浏览器,运行谷歌地图:
- NSString* searchQuery = @"1 Infinite Loop, Cupertino, CA 95014";
- searchQuery = [addressText stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
- NSString* urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@", searchQuery];
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlText]];
- 调用谷歌地图(Google Maps)
- URL模式:http://maps.google.com/maps?q=<strong>${QUERY_STRING}</strong>
- 代码示例:
- NSString* searchQuery = @"1 Infinite Loop, Cupertino, CA 95014";
- searchQuery = [addressText stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
- NSString* urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@", searchQuery];
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlText]];
- 调用邮件客户端(Apple Mail)
- URL模式:mailto://<strong>${EMAIL_ADDRESS}</strong>
- 代码示例:
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@eyecm.com"]];
- 拨号(Phone Number)
- URL模式:tel://<strong>${PHONE_NUMBER}</strong>
- 代码示例:
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];
- 调用短信(SMS)
- URL模式:sms:<strong>${PHONENUMBER_OR_SHORTCODE}</strong>
- 代码示例:
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:10086"]];
- 调用浏览器(Safari Browser)
- 代码示例:
- NSURL *url = [NSURL URLWithString:@"http://eyecm.com"];
- [[UIApplication sharedApplication] openURL:url];
- 调用应用商店(AppStore)
- URL模式:http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291586600&mt=8
- 代码示例:
- NSURL *appStoreUrl = [NSURL URLWithString:@"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291586600&mt=8"];
- [[UIApplication sharedApplication] openURL:appStoreUrl];
0 0
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 通过自定义的URL Scheme启动你的App
- 【iOS学习笔记】通过自定义的URL Scheme启动你的App
- 进程间通讯,通过自定义的URL Scheme启动你的App
- 【iOS】通过URL Scheme启动app(收集了常用的app的URL Scheme)
- iOS 自定义启动app URL Scheme 帮你实现
- Android 通过URL scheme 启动App
- ios 自定义URL Scheme启动App
- 求集合的交集
- Java零基础入门系列08--异常[参考正文顶部目录]
- Microsoft Outlook 漏洞:可允许远程代码执行
- shell文本过滤编程(九):sed命令
- android Button上面的英文字符串自动大写的问题解决
- 通过自定义的URL Scheme启动你的App
- cout缓冲区管理
- js中数组是否包含另一个数组检测的方法
- 仿5sing图片轮播,向5Sing致敬
- SecureCRT 绝佳配色方案, 保护你的眼睛
- 输入日期判断某年第几天
- Oracle数据库SQL语句操作记录
- 【ASP.NET】程序错误:error CS2001: Source file
- spring多个定时任务job.xml配置