2016-08-25 45 views
8

UIActivityViewController setCompletionWithItemsHandler未調用whatsapp活動。UIActivityViewController setCompletionWithItemsHandler未調用whatsapp活動

有沒有人遇到同樣的問題?如果有,請分享解決方案。

NSArray *applicationActivities = @[[[JBWhatsAppActivity alloc] init]]; 

UIActivityViewController* activityViewController = nil; 
if(installed) 
    activityViewController = [[UIActivityViewController alloc] initWithActivityItems:dataToShare applicationActivities:nil]; 
else 
    activityViewController = [[UIActivityViewController alloc] initWithActivityItems:dataToShare applicationActivities:applicationActivities]; 

// Setting subject field while sharing app with email 
[activityViewController setValue:@"Check out this Site !" forKey:@"subject"]; 

NSArray *excludedActivities = @[UIActivityTypePostToWeibo, 
           UIActivityTypePrint, 
           UIActivityTypeCopyToPasteboard, 
           UIActivityTypeAssignToContact, 
           UIActivityTypeSaveToCameraRoll, 
           UIActivityTypeAddToReadingList, 
           UIActivityTypePostToFlickr, 
           UIActivityTypePostToVimeo, 
           UIActivityTypePostToTencentWeibo, 
           UIActivityTypeAirDrop 
           ]; 
activityViewController.excludedActivityTypes = excludedActivities; 



[activityViewController setCompletionWithItemsHandler:^(NSString * __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError) 
{ 

} 
]; 


[self presentViewController:activityViewController animated:YES completion:^{}]; 
+0

你能證明你的代碼 –

回答

2
NSMutableArray *sharingItems = [NSMutableArray new]; 
if (text) { 
    [sharingItems addObject:text]; // text to share 
} 
if (image) { 
    [sharingItems addObject:image]; // UIImage to share 
} 
if (url) { 
    [sharingItems addObject:url]; // url to share 
} 

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil]; 

if ([activityController respondsToSelector:@selector(popoverPresentationController)]) { 
    // iOS8 
    activityController.popoverPresentationController.sourceView = 
    sourceView; 
    activityController.popoverPresentationController.sourceRect = CGRectMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds),0,0); 
} 

[activityController setCompletionWithItemsHandler:^(NSString * __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError) 
{ 
    //Your Code goes here 
}]; 

[self presentViewController:activityController animated:YES completion:^{ 

}]; 
+1

能否請您解釋一下爲什麼是這樣的答案嗎? – Warpling

+0

你能解釋一下爲什麼這是答案嗎? – Warpling

相關問題