2016-08-25 5 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