发送快捷方式到桌面有两种方法:
1、将设置好的HTML页面放置到服务器中。
弊端:没有网络时不能通过快捷方式打开APP。
优点:可以直接在网页端修改网页展示效果、桌面图标、默认标题,技术难度系数低。
2、在APP内嵌HTTPServer。
弊端:技术难度系数会高一些,网页效果、桌面图标、默认图标的修改需要更新APP,app安装包会稍微大一些。
优点:通过快捷方式打开APP时不需要网络。
第一步:编写一个用来展示的网页
第二步:将网页放在服务器上
第三步:在APP中编写执行生成快捷方式的事件
第四步:设置外部打开APP的scheme
第五步:处理快捷方式打开APP的事件
1、编写一个用来展示的网页
2、将网页放到服务器上
这一步其实没必要介绍了,将刚刚编写的网页放在服务器上指定的位置,然后将记录下地址,在APP中需要使用
3、在APP中编写执行生成快捷方式的事件
其实就是使用Safari打开刚刚放到服务器上的那个网页,就是我不写,你们也知道怎么做
4、设置外部打开APP的scheme
不会的可以参考下图的步骤
5、处理快捷方式打开APP的事件
在AppDelegate中实现代理方法,外界通过URL Scheme打开APP都会走这个代理- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id>*)options,只要在这个代理方法中通过url判断就可以知道是不是通过快捷方式进来的,如果是,那么是通过哪个快捷方式进来的,接下来需要进行哪些指定的 *** 作,这些就得看业务需求了,我接下来只是做一个简单的示例:
我的这个简单的判断只是为了更直观的介绍这个回调,在实际项目中,这个地方需要根据网页端URL的结构进行解析,然后才能进行下一步
iOS APP开发时,如果想在桌面生成快捷方式,目前来说,唯一的方式就是利用Safari浏览器的“添加到主屏幕”这个功能,这个功能会把当前打开的站点生成快捷图标放到桌面上,我们可以对这个网页进行设置,当在浏览器中打开时,展示宣传图等,在快捷方式打开时,直接跳转到APP的指定界面中
目前来说,使用Safari打开的网页可以放在服务器上,也可以在APP中,这就导致生成快捷方式有两种不同的方法,一种简单,一种复杂,简单的方式是将网页放在服务器上,复杂的方式是将网页内嵌在APP中。本文只使用简单的方式进行最基础的快捷方式的实现,并在文章的最后有两种方式的优缺点比较表。
我会在下一篇文章中介绍如何对这种方式进行优化,以减少对网络的依赖并提升用户的体验。而复杂的实现方式我会放在以后的文章中慢慢进行介绍。由于复杂的方式还涉及到在APP内嵌HTTPServer,所以,我会在正式讲解复杂的方式之前,会先讲解如何在APP中内嵌HTTPServer。
先对所有步骤进行总结,然后再分别对所有步骤进行细化
这一步其实没必要介绍了,将刚刚编写的网页放在服务器上指定的位置,然后将记录下地址,在APP中需要使用
其实就是使用Safari打开刚刚放到服务器上的那个网页,就是我不写,你们也知道怎么做
在AppDelegate中实现代理方法,外界通过URL Scheme打开APP都会走这个代理
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) ->Bool
只要在这个代理方法中通过url判断就可以知道是不是通过快捷方式进来的,如果是,那么是通过哪个快捷方式进来的,接下来需要进行哪些指定的 *** 作,这些就得看业务需求了,我接下来只是做一个简单的示例:
我的这个简单的判断只是为了更直观的介绍这个回调,在实际项目中,这个地方需要根据网页端URL的结构进行解析,然后才能进行下一步
网页存放在不同的位置都有其优势和劣势,详情可以参考以下表格,都是经过自己摸索的,如果有疑问或不同的看法,欢迎指出来
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)