9.4.1 使用URL打开其他应用程序

9.4.1 使用URL打开其他应用程序

如果一个应用程序支持一些已知类型的URL,就可以通过支持的URL打开此应用。URL中会带有协议头和一些打开时的必要信息,例如打开一个邮箱的应用程序,会在打开的URL中包含发件人的信息和收件人的信息;而打开一个地图应用程序,则包含起点和终点的地理位置信息。使用URL打开其他应用的好处是给用户创造一个聚合的使用体验,减少应用程序重新实现设备上其他应用程序已经实现的功能,让用户在使用不同的功能时达到极致的体验。苹果内置支持http、mailto、tel和sms等协议,此外还支持基于http协议打开的地图或者邮箱应用程序的URL。创建OpenApplicationPractise工程,我们可以在这个工程中使用URL来打开iOS系统中的其他应用,首先要在Main.storyboard上创建几个按钮,如图9.4.1所示:

图9.4.1 在界面上创建三个按钮

将三个按钮的点击事件链接到View Controller中(读者可以快速阅读12.2一节中的内容,了解如何为UIButton链接点击事件),代码实例如下:

动手写9.4.1 OpenApplicationPractise->ViewController.swift

在模拟器上运行工程,分别点击三个按钮,如图9.4.2、9.4.3和9.4.4所示,会从我们自己的应用中打开其他的应用。

图9.4.2 打开网页应用 

图9.4.3 打开地图应用 

图9.4.4 打开短信应用

这里要注意,打开之前必须要使用UIApplication的实例方法判断URL是否可以被打开,这是一种安全的做法。