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

有没有人在啊,想请问下,如何为iOS app添加AirDrop文件分享功能
最新回答
西风过纱

2024-08-11 05:02:04

  
  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会自动展示在设备上,并处理数据转换(如果你选择了该项)。

  根据需要,你可以拒绝特定的分享类型,也就是说,你可以通过排除所有的活动仅展示通过AirDrop进行分享。如下代码所示:
  
  UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
  
  NSArray *excludedActivities = @[UIActivityTypePostToTwitter, UIActivityTypePostToFacebook,
  UIActivityTypePostToWeibo,
  UIActivityTypeMessage, UIActivityTypeMail,
  UIActivityTypePrint, UIActivityTypeCopyToPasteboard,
  UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll,
  UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr,
  UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo];
  controller.excludedActivityTypes = excludedActivities;
  
  [self presentViewController:controller animated:YES completion:nil];