使用UIActivityViewController实现AirDrop分享

本文介绍了一种通过AirDrop进行文件传输的方法,并提供了一个简单的iOS应用示例,演示了如何利用UIActivityViewController来实现文件分享功能。

今天闲来无事,无意中看了一篇利用AirDrop实现文件传输的文章,于是动手写了一个很简单的demo。其实就是使用UIActivityViewController。
具体实现如下:

#import "DemoViewController.h"
@interface DemoViewController ()
@property(nonatomic,strong)UIWebView *webView;

@end

@implementation DemoViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.view.backgroundColor=[UIColor whiteColor];

    [self addUI];
    [self loadDataFile];

}
-(void)loadDataFile{
    NSURL *fileURL=[self returnURLWithFileName:@"demo.png"];
    [self.webView loadRequest:[NSURLRequest requestWithURL:fileURL]];
}
-(void)addUI{
    //add webView
    [self.view addSubview:self.webView];
    //add rightBarItem
     self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc]initWithTitle:@"分享" style:UIBarButtonItemStyleDone target:self action:@selector(sharedAction)];
}
- (UIWebView *)webView{
    if (!_webView) {
        _webView=[[UIWebView alloc]init];
        _webView.frame=self.view.bounds;
    }
    return _webView;
}
#pragma mark -return URL for fileName
-(NSURL *)returnURLWithFileName:(NSString *)fileName{
    NSArray *arrs=[fileName componentsSeparatedByString:@"."];
    NSString *pathStr=[[NSBundle mainBundle] pathForResource:arrs.firstObject ofType:arrs[1]];
    NSURL *fileURL=[NSURL fileURLWithPath:pathStr];
    return fileURL;


}

#pragma mark rightBarItem Action
-(void)sharedAction{
    NSLog(@"rightBarItem is clicked");
    NSURL *fileURL=[self returnURLWithFileName:@"demo.png"];
    NSArray *urls=@[fileURL];
    UIActivityViewController *activituVC=[[UIActivityViewController alloc]initWithActivityItems:urls applicationActivities:nil];
    NSArray *cludeActivitys=@[UIActivityTypePostToFacebook,
                               UIActivityTypePostToTwitter,
                               UIActivityTypePostToWeibo,
                               UIActivityTypePostToVimeo,
                               UIActivityTypeMessage,
                               UIActivityTypeMail,
                               UIActivityTypeCopyToPasteboard,
                               UIActivityTypePrint,
                               UIActivityTypeAssignToContact,
                               UIActivityTypeSaveToCameraRoll,
                               UIActivityTypeAddToReadingList,
                               UIActivityTypePostToFlickr,
                               UIActivityTypePostToTencentWeibo];
    activituVC.excludedActivityTypes=cludeActivitys;

    [self presentViewController:activituVC animated:YES completion:nil];

}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

详细的demo可以访问我的github去下载,希望可以一起交流一起进步:
demo下载地址:https://github.com/voidxin/AirDropDemoWithZX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值