Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS中阻止打开UIActivityViewController中的默认Facebook共享?_Ios_Objective C_Uiactivityviewcontroller - Fatal编程技术网

如何在iOS中阻止打开UIActivityViewController中的默认Facebook共享?

如何在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

在我的应用程序中,希望在UIActivityViewController中打开自定义弹出窗口。所以我不想在facebook上打开默认共享弹出窗口。那么,如何关闭该弹出窗口,或者如何阻止在iOS中打开该弹出窗口。 请给我解决方案

#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]

显示您的试用代码显示您的试用代码