2014-07-13 127 views
0

我想知道如果我可以使用UIActivityViewController,这样我就可以通过电子邮件,信件或其他方式共享PDF文件。在iOS上共享PDF文件

NSData *pdfData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:linkToProspect]]; 

这是我想要分享的PDF数据。

UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:*NSARRAY* applicationActivities:nil]; 

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

这就是我想要这样做的方式。

有没有这样的方式?或者我应该创建一些自定义?

+0

你试过了吗?它是做你想做的吗? – rmaddy

+0

问题是,initWithActivityItems:需要一个NSArray,如果我用pdf数据创建数组,应用程序崩溃。 “ – Macaret

+0

”而不是实际的数据对象,此数组中的对象可以是采用UIActivityItemSource协议的对象,例如UIActivityItemProvider对象。在您不希望直接提供该数据的情况下,Source和Provider对象充当相应数据的代理这是必需的。” –

回答

3
// pathToPDF should be a full path to your PDF file 
NSString *pathToPDF = [[NSBundle mainBundle] pathForResource:@"ReadMe" ofType:@"pdf"]; 

NSURL *urlToPDF = [NSURL fileURLWithPath:pathToPDF]; 

NSMutableArray *itemsToShare = [[NSMutableArray alloc] init]; 
[itemsToShare addObject:urlToPDF]; 

UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil]; 
[self presentViewController:controller animated:YES completion:nil]; 
+0

该解决方案的工作原理!我在iOS 10上使用它。 – Rick