iOS 实现桌面快捷方式-快速打开App功能页
实现原理:iOS中无法像安卓一样通过发送通知生成桌面快捷方式,为了实现该功能,需要借助系统浏览器。为了保障创建过程体验,实现从App获取数据(指引页面,桌面图标,跳转URL页面)。
实现过程:
1.基于URLRoute,方便浏览器唤醒App,方便定位到具体页面;
2.App提供浏览器的本地请求服务(从浏览器获取App内数据);
3.App内包装浏览器需要的数据;
4.App保障后台运行中服务的稳定性;
5.系统浏览器内按照指引操作。
具体实现举例:
1.我们要跳转的页面:
iwangzhe.app://universal/h5?url=https%3a%2f%2fdev.pydp888.com%2fk
2.启动服务
3.包装返回数据
4.后台中服务保障
5.App跳转到浏览器,请求数据
NSString * deviceIPAddres = @"127.0.0.1";
NSString * openUrl = [NSString stringWithFormat:@"http://%@:%@",deviceIPAddres,[findDict objectForKey:@"port"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:openUrl]];
注意事项:
1.请求地址固定为:127.0.0.1(识别到为该地址,不请求网络,走本地;这里有个问题如果走网络当非Wifi下会请求失败)
2.端口号应该不占用一些默认端口,并且小于65535
3.HttpServer 实现请参考http://www.cocoawithlove.com/2009/07/simple-extensible-http-server-in-cocoa.html