iOS开发交流群:484884085
欢迎大家加入!
1、ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIButton *openIn;
@property (weak, nonatomic) IBOutlet UIButton *shareIn;
@property (nonatomic,strong) UIDocumentInteractionController *documentInteractionController;
@end
2、ViewController.m
#import "ViewController.h"
@interface ViewController ()<UIDocumentInteractionControllerDelegate>
@end
@implementation ViewController
- (IBAction)openIn:(UIButton *)sender {
NSString *localPath = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"pdf"];
NSURL *pathUrl = [[NSURL alloc]initFileURLWithPath:localPath];
// Initialize Document Interaction Controller
self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:pathUrl];
// Configure Document Interaction Controller
[self.documentInteractionController setDelegate:self];
// Present Open In Menu
[self.documentInteractionController presentOptionsMenuFromRect:[self.openIn frame] inView:self.view animated:YES];
}
#pragma mark Document Interaction Controller Delegate Methods
- (UIViewController *) documentInteractionControllerViewControllerForPreview: (UIDocumentInteractionController *) controller {
return self;
}
- (IBAction)shareIn:(UIButton *)sender {
NSString *localPath = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"pdf"];
UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[localPath] applicationActivities:nil];
UIActivityViewControllerCompletionHandler myBlock = ^(NSString *activityType,BOOL completed)
{
NSLog(@"调用分享的应用id :%@", activityType);
if (completed)
{
NSLog(@"分享成功!");
}
else
{
NSLog(@"分享失败!");
}
};
activity.completionHandler = myBlock;
if ([[UIDevice currentDevice].model isEqualToString:@"iPhone"]) {
[self presentViewController:activity animated:YES completion:nil];
}
else if([[UIDevice currentDevice].model isEqualToString:@"iPad"])
{
UIPopoverPresentationController *popover = activity.popoverPresentationController;
if (popover) {
popover.sourceView = self.shareIn;
popover.permittedArrowDirections = UIPopoverArrowDirectionUp;
}
[self presentViewController:activity animated:YES completion:nil];
}
else
{
//do nothing
}
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end