ios - 未为 whatsapp 事件调用 UIActivityViewController setCompletionWithItemsHandler

标签 ios objective-c uiactivityviewcontroller

没有为 whatsapp 事件调用 UIActivityViewController setCompletionWithItemsHandler。

有人遇到过同样的问题吗?请分享解决方案(如果有)。

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:^{}];

最佳答案

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:^{

}];

关于ios - 未为 whatsapp 事件调用 UIActivityViewController setCompletionWithItemsHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39138581/

相关文章:

iphone - UIActivityView 不显示其他应用程序作为打开 pdf 的选项

ios - 如何使用 UIActivityViewController 共享经度和纬度

swift - 如何在iOS 13 Share sheet中实现 "Options"

ios - 在自定义框架中访问应用程序的捆绑标识符

ios - 一个 ViewController 可以包含多个父(即包含) Controller 吗?

iOS:使用 UIBezierPath bezierPathWithOvalInRect 绘制清晰的圆圈:

ios - 警告尝试在演示或解散过程中从 View Controller 中解散

ios - UITableView 不滚动 (iOS)

ios - Swift 3 错误处理和变量可访问性

ios - 更改 NSManagedObject 的属性,它会发送通知吗?