如何在iOS中阻止打开UIActivityViewController中的默认Facebook共享?
在我的应用程序中,希望在UIActivityViewController中打开自定义弹出窗口。所以我不想在facebook上打开默认共享弹出窗口。那么,如何关闭该弹出窗口,或者如何阻止在iOS中打开该弹出窗口。 请给我解决方案如何在iOS中阻止打开UIActivityViewController中的默认Facebook共享?,ios,objective-c,uiactivityviewcontroller,Ios,Objective C,Uiactivityviewcontroller,在我的应用程序中,希望在UIActivityViewController中打开自定义弹出窗口。所以我不想在facebook上打开默认共享弹出窗口。那么,如何关闭该弹出窗口,或者如何阻止在iOS中打开该弹出窗口。 请给我解决方案 #define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSO
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismissPopup) name:dismissMJPopUp object: nil];
//ReferFriendVC *okpopup=[[ReferFriendVC alloc]initWithNibName:@"ReferFriendVC" bundle:nil];
// [self presentPopupViewController:okpopup animationType:MJPopupViewAnimationSlideBottomTop];
UIPopoverController *popup;
MyActivityItemProvider *message = [[MyActivityItemProvider alloc] init];
NSArray *activityItems;
UIImage *myImage=[UIImage imageNamed:@"3.png"];
activityItems = @[message, myImage];
NSArray * applicationActivities = nil;
UIActivityViewController * activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
activityViewController.excludedActivityTypes = @[
UIActivityTypePostToWeibo,
UIActivityTypeAssignToContact,
UIActivityTypeAirDrop,
UIActivityTypeAddToReadingList,
UIActivityTypeCopyToPasteboard,
UIActivityTypeSaveToCameraRoll,
UIActivityTypePrint,
UIActivityTypePostToFlickr,UIActivityTypePostToTencentWeibo // Whatever you want to exclude
];
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")){
activityViewController.popoverPresentationController.sourceView =
self.view;
}
if(isiPhone)
{
[self presentViewController:activityViewController animated:YES completion:nil];
}
else{
popup = [[UIPopoverController alloc] initWithContentViewController:activityViewController];
[popup presentPopoverFromRect:CGRectMake(0, screenheight, 768, 0)inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
[activityViewController setCompletionWithItemsHandler:^(NSString *act, BOOL completed, NSArray *returnedItems, NSError *activityError)
{
NSLog(@"act type %@",act);
NSString *ServiceMsg = nil;
if ( [act isEqualToString:UIActivityTypeMail] )
ServiceMsg = @"Mail sent";
NSLog(@"mail sent");
if ( [act isEqualToString:UIActivityTypeAssignToContact] )
ServiceMsg = @"Post on twitter, ok!";
if ( [act isEqualToString:UIActivityTypePostToFacebook] )
ServiceMsg = @"Post on facebook, ok!";
[popup dismissPopoverAnimated:YES];
}];
在myActivityItemProvide.h中
#import "MyActivityItemProvider.h"
@implementation MyActivityItemProvider
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType
{
if ([activityType isEqualToString:UIActivityTypePostToFacebook]) {
NSLog(@"mail method called ");
//
if([AppDelegate NetworkRechability])
{
// FrindListVC *leavefeed=[[FrindListVC alloc]initWithNibName:@"FrindListVC" bundle:nil];
// [self.navigationController pushViewController:leavefeed animated:YES];
FBSDKAppInviteContent *content1 =[[FBSDKAppInviteContent alloc] init];
content1.appLinkURL = [NSURL URLWithString:@"https://fb.me/4931252562362626805"];
//optionally set previewImageURL
content1.appInvitePreviewImageURL = [NSURL URLWithString:@"http://files.parsdrterfsdfetfss.com/79580e8563-55656cc-456455f2-a20f-7f69e783b14d/tfss-f9e2626e-dfsdfsfsdfsdf519c-4ca3-ae47-015ffeaad0f7-fbinvite-01.png"];
// present the dialog. Assumes self implements protocol `FBSDKAppInviteDialogDelegate`
[FBSDKAppInviteDialog showWithContent:content1
delegate:self];
// [[[self parentViewController] parentViewController] presentViewController:activityViewController animated:YES completion:nil];
// activityViewController.view.hidden=YES;
}
else
{
UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"Internet Not Available" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[errorAlert show];
[SVProgressHUD dismiss];
}
}
return @"No provider";
}
- (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didFailWithError:(NSError *)error
{
NSLog(@"error %@",error);
}
- (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didCompleteWithResults:(NSDictionary *)result
{
// NSLog(@"result %@",result);
}
- (id) activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController { return @""; }
@end
您可以使用以下代码排除或阻止在
UIActivityViewController
中打开默认的Facebook共享:
activityViewController.excludedActivityTypes = [UIActivityTypePostToFacebook]
您可以使用以下代码排除或阻止在
UIActivityViewController
中打开默认的Facebook共享:
activityViewController.excludedActivityTypes = [UIActivityTypePostToFacebook]
显示您的试用代码显示您的试用代码