UIDocumentInteractionController
UIDocumentInteractionController主要是用來實(shí)現(xiàn)同設(shè)備上App之間的共享文檔,以及文檔預(yù)覽、打印摊求、發(fā)郵件和復(fù)制等功能剪个。它的使用非常簡單.
首先通過調(diào)用它唯一的類方法interactionControllerWithURL:蚁飒,并傳入一個(gè)URL(NSURL),為你想要共享的文件來初始化一個(gè)實(shí)例對(duì)象。然后UIDocumentInteractionControllerDelegate,然后顯示菜單和預(yù)覽窗口锐膜。
let url = Bundle.main.url(forResource: "test", withExtension: "pdf")
if url != nil {
let documentInteractionController = UIDocumentInteractionController.init(url: url!)
documentInteractionController.delegate = self
documentInteractionController.presentOpenInMenu(from: self.view.bounds, in: self.view, animated: true)
}
AirDrop --- UIActivityViewController
iOS并沒有直接提供AirDrop的實(shí)現(xiàn)接口,但是使用UIActivityViewController的方法喚起AirDrop弛房,進(jìn)行數(shù)據(jù)交互道盏。
UIActivityViewController類是一個(gè)標(biāo)準(zhǔn)的ViewController,提供了幾項(xiàng)標(biāo)準(zhǔn)的服務(wù),比如復(fù)制項(xiàng)目至剪貼板荷逞,把內(nèi)容分享至社交網(wǎng)站媒咳,以及通過Messages發(fā)送數(shù)據(jù)等等。在iOS 7 SDK中种远,UIActivityViewController類提供了內(nèi)置的AirDrop功能涩澡。
如果你有一些數(shù)據(jù)一批對(duì)象需要通過AirDrop進(jìn)行分享,你所需要的是通過對(duì)象數(shù)組初始化UIActivityViewController院促,并展示在屏幕上:
UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
[self presentViewController:controller animated:YES completion:nil];