如何为iOS app添加AirDrop文件分享功能

2020-05-16 科技 179阅读
AirDrop概览
AirDrop是iOS 7引入的一项新功能,iCloud同步功能允许在用户的两台iOS设备之间分享照片和文档,而AirDrop可以在不同用户的iOS设备之间进行照片和文档的分享。
在iOS 7之前,iOS用户主要依靠第三方app实现iOS设备间的文件和数据分享,在iOS 7中,该项新功能适用于所有iPhone
5、iPad 4、iPad mini以及第五代iPod touch设备。通过AirDrop,你可以与附近其他iOS
app分享照片、视频、通讯录、URL、Passbook passes、App Store上的app列表、iTunes
Store中的媒体列表以及地图中的位置信息等等。
苹果在iOS 7 SDK中集成了UIActivityViewController类,可以让你很简单地就能把AirDrop功能整合进app中。UIActivityViewController类封装了文件分享功能的细节。你所需要的就是告知这个类你希望分享的内容,以及处理的结果。在这个教程中,我们将会演示UIActivityViewController的使用方法,以及你该如何使用AirDrop来分享图片/文档。
AirDrop使用蓝牙来扫描周围的设备,当两台设备通过蓝牙建立起了连接,考虑到更快速的数据传输,它就会创建点对点的Wi-Fi网络来连接两部iOS 设备。但并不意味着为了使用AirDrop而需要把设备连接至Wi-Fi网络。
比如你想在iPhone拍照类app中将照片分享给另一位iPhone设备,假如你在两台设备间启动了AirDrop,点击屏幕左下角的分享按钮就能实现不同用户iOS

设备间的文件分享。当屏幕处于关闭状态时,AirDrop为不可用,所以要确保文件接收方的设备处于打开状态,然后选择设备进行分享。在另一台设备上,你会看到照片预览和确认要求。接收者可以接受或者拒绝接收文件。如果你选择了接收,照片会被传输至你的iOS设备,并保存至相册。
AirDrop并不仅仅适用于拍照类app,你也可以在大部分内置的应用中看到它,比如Contacts, iTunes, App Store, Safari以及其他应用程序中。
下面我们来看看如何把AirDrop整合进你的app。
UIActivityViewController简介快览
可能有开发者会觉得在应用中整合AirDrop比较麻烦,其实只需要数行代码就能实现,UIActivityViewController让这个过程变得非常简单,因为AirDrop是该类固定的一部分。
UIActivityViewController类是一个标准的view
controller,提供了几项标准的服务,比如复制项目至剪贴板,把内容分享至社交网站,以及通过Messages发送数据等等。在iOS 7
SDK中,UIActivityViewController类提供了内置的AirDrop功能。
如果你有一些数据一批对象需要通过AirDrop进行分享,你所需要的是通过对象数组初始化UIActivityViewController,并展示在屏幕上:
UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil]; [self presentViewController:controller animated:YES completion:nil];
如上代码所示,只需要两行代码,你就能通过AirDrop选项启用activity view。当检测到周围的设备时,activity controller会自动展示在设备上,并处理数据转换(如果你选择了该项)。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com