2014-07-13 125 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