【问题标题】:objective-c share image to Instagram from my iOS applicationObjective-c 从我的 iOS 应用程序将图像分享到 Instagram
【发布时间】:2016-11-25 13:30:49
【问题描述】:

我花了很长时间寻找如何将照片从 iOS 应用程序分享到 Instagram。 Twitter 等其他社交媒体运行良好。我在 Google 上找到了很多资源,但它不起作用。 请我需要一些帮助来将 Instagram 分享按钮添加到已经有 Twitter 分享按钮的 UIActivityViewController。 这是我的代码:

- (IBAction)shareBtnClicked {
    NSString *textToShare = @"Share \r";
    NSURL *url = newsC.URL;
    NSArray *objectsToShare = @[textToShare, url];
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];

    //this array should add the activities that I don’t want
    NSArray *excludeActivities = @[ UIActivityTypePrint,
                                    UIActivityTypeAssignToContact,
                                    UIActivityTypePostToFlickr,
                                    UIActivityTypePostToVimeo
                                    ];

    activityVC.excludedActivityTypes = excludeActivities;
    [self presentViewController:activityVC animated:YES completion:nil];

提前致谢

【问题讨论】:

    标签: ios objective-c share instagram social-media


    【解决方案1】:

    您需要使用以下方法:

     -(void)instaPostImage
        {
            NSURL *myURL = [NSURL URLWithString:@"Your image url"];
            NSData * imageData = [[NSData alloc] initWithContentsOfURL:myURL];
            UIImage *imgShare = [[UIImage alloc] initWithData:imageData];
    
            NSURL *instagramURL = [NSURL URLWithString:@"instagram://app"];
    
            if([[UIApplication sharedApplication] canOpenURL:instagramURL]) //check for App is install or not
            {
                UIImage *imageToUse = imgShare;
                NSString *documentDirectory=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
                NSString *saveImagePath=[documentDirectory stringByAppendingPathComponent:@"Image.png"];
                NSData *imageData=UIImagePNGRepresentation(imageToUse);
                [imageData writeToFile:saveImagePath atomically:YES];
                NSURL *imageURL=[NSURL fileURLWithPath:saveImagePath];
                self.documentController=[[UIDocumentInteractionController alloc]init];
                self.documentController = [UIDocumentInteractionController interactionControllerWithURL:imageURL];
                self.documentController.delegate = self;
                self.documentController.annotation = [NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:@"Testing"], @"InstagramCaption", nil];
                self.documentController.UTI = @"com.instagram.exclusivegram";
                UIViewController *vc = [UIApplication sharedApplication].keyWindow.rootViewController;
                [self.documentController presentOpenInMenuFromRect:CGRectMake(1, 1, 1, 1) inView:vc.view animated:YES];
        }
        else {
            DisplayAlertWithTitle(@"Instagram not found", @"")
        }
    }
    

    【讨论】:

    • 感谢您在 twitter 上运行良好,但没有 Facebook 分享按钮,尽管我已登录到我的 Facebook 帐户。
    【解决方案2】:

    试试这个

    - (IBAction)shareBtnClicked {
        NSString *textToShare = @"Share \r";
        NSURL *url = newsC.URL;
    
        NSData * imageData = [[NSData alloc] initWithContentsOfURL:url];
        UIImage *imgShare = [[UIImage alloc] initWithData:imageData];
    
       NSArray *objectsToShare = @[imgShare, textToShare];
       UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
    
       //this array should add the activities that I don’t want
       NSArray *excludeActivities = @[ UIActivityTypePrint,
                                    UIActivityTypeAssignToContact,
                                    UIActivityTypePostToFlickr,
                                    UIActivityTypePostToVimeo
                                    ];
    
       activityVC.excludedActivityTypes = excludeActivities;
       [self presentViewController:activityVC animated:YES completion:nil];
    

    }

    【讨论】:

    • 我用文档交互控制器尝试了几个版本,但都没有成功,感谢这个版本,它完美无瑕。
    猜你喜欢
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多