iOS DeepLinkKit使用简介
2015-07-09 18:32
393 查看
废话不多说,先说做这个的需求:
1.应用中有些社交元素的分享会分享一个链接到facebook, twitter, google+这类的社交媒体上
2.当用户点击某个链接的时候先跳转到自己的页面,然后再传递参数到iOS应用上打开指定的分享数据
思路:iOS提供了Scheme这个东西可以从浏览器或者其他应用跳转到自己的应用,查询scheme相关的内容。
在大概了解了Scheme机制之后在github上找到DeepLinkKit这个第三方组件。
使用如下:
1.在plist中添加一个URL Type, 比如URL Schemes叫com.test.test
2.在AppDelegate 中添加如下代码:
3.在AppDelegate 中添加如下代码:
4.将应用退到后台,在浏览器中输入com.test.test://L/aa/123/456,这里router的block会生效。
解释一下,这里L是DeepLinkKit这个组件需要的,但内容可随便输入,总之在host之前必须要有一个字段。aa是DeepLinkKit中提到的host,这个要跟router注册时的字符一样。其他不必解释了。
用下来,DeepLinkKit还是比较简单的,但文档写得比较不好,我看了好久代码,其中研究他的demo帮助最大。
希望对需要做深度链接的同学有帮助,有任何问题,请在这里留言,我们一起交流。谢谢!
1.应用中有些社交元素的分享会分享一个链接到facebook, twitter, google+这类的社交媒体上
2.当用户点击某个链接的时候先跳转到自己的页面,然后再传递参数到iOS应用上打开指定的分享数据
思路:iOS提供了Scheme这个东西可以从浏览器或者其他应用跳转到自己的应用,查询scheme相关的内容。
在大概了解了Scheme机制之后在github上找到DeepLinkKit这个第三方组件。
使用如下:
1.在plist中添加一个URL Type, 比如URL Schemes叫com.test.test
2.在AppDelegate 中添加如下代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { router = [[DPLDeepLinkRouter alloc] init]; //浏览器调用url: "com.test.test://L/aa/123/456", 这样bb取到123, cc取到456 router[@"/aa/:bb/:cc"] = ^(DPLDeepLink *link) { NSLog(@"----------DeepLink: %@, %@----------", link.routeParameters[@"bb"], link.routeParameters[@"cc"]); }; }
3.在AppDelegate 中添加如下代码:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { BOOL success = [router handleURL:url withCompletion:nil]; return success; }
4.将应用退到后台,在浏览器中输入com.test.test://L/aa/123/456,这里router的block会生效。
解释一下,这里L是DeepLinkKit这个组件需要的,但内容可随便输入,总之在host之前必须要有一个字段。aa是DeepLinkKit中提到的host,这个要跟router注册时的字符一样。其他不必解释了。
用下来,DeepLinkKit还是比较简单的,但文档写得比较不好,我看了好久代码,其中研究他的demo帮助最大。
希望对需要做深度链接的同学有帮助,有任何问题,请在这里留言,我们一起交流。谢谢!
相关文章推荐
- iOS开发笔记--高端Thread用法
- 50款经典 iPhone 开源应用(附代码下载) 分类: ios 2015-07-09 18:23 31人阅读 评论(0) 收藏
- iOS内存管理
- iOS打包时achieve文件无法生成
- nagios插件之登陆防火墙实现session监控
- IOS中修改图片的大小:修改分辨率和裁剪
- iOS property 用法
- IOS Protocol与Delegate详解(二)
- IOS版本被拒的经历
- 基于IOS上MDM技术相关资料整理及汇总
- IOS设备MDM证书申请流程
- [iOS]ARC下循环引用的问题
- IOS内存管理浅析
- iOS开发:Toast for iPhone 实例分享
- iOS公司开发者账号申请(详细申请记录2015-07-09)
- IOS ARC 和 非ARC 之间的转换方法
- ios项目(十五)
- IOS开发中滑动页面时NSTimer停止的问题
- iOS学习之iOS沙盒(sandbox)机制和文件操作(二)
- ios基本语法