2015-11-07 26 views
2

我正在创建一个iOS应用程序,使用户可以将图像发布到三个(或全部三个)社交媒体提供商之一,包括:Twitter,Facebook和Instagram。

我尝试过使用UIDocumentInteractionController()来实现这个功能,虽然这在添加'复制到Instagram'图标选项中是有效的,但它不允许我为Facebook和Twitter共享添加图标/选项。

花了一个小时左右谷歌搜索解决方案,我遇到了问题,我遇到了UIActivityViewController看起来很有前途。我已经实施了一个活动表,允许我通过脸书和推特分享,这是非常出色的,然而,是否有人知道我如何将“复制到instagram”选项集成到表格中?是否可以使用UIActivityViewController将Instagram操作添加到活动工作表?

@IBAction func shareInstagramPressed(sender: AnyObject) { 
     if(newImageData.length != 0){ 
      let image = UIImage(data:newImageData, scale:1.0) 
      displayShareSheet(image!) 
     } 
     else { 
      print("Please select an image first") 
     } 
    } 

    func displayShareSheet(shareContent:UIImage) { 
     let activityViewController = UIActivityViewController(activityItems: [shareContent as UIImage], applicationActivities: nil) 
     activityViewController.excludedActivityTypes = [ 
      UIActivityTypePostToWeibo, 
      UIActivityTypePrint, 
      UIActivityTypeAssignToContact, 
      UIActivityTypeAddToReadingList, 
      UIActivityTypePostToVimeo, 
      UIActivityTypePostToTencentWeibo, 
      UIActivityTypeOpenInIBooks, 
      UIActivityTypeMessage, 
      UIActivityTypeMail 
     ] 
     presentViewController(activityViewController, animated: true, completion: {}) 
    } 
+0

你是如何解决您的问题? – SwiftArchitect

回答

0

是:

...这是技术上可能的,但这种支持应该可能来自Instagram的。

Apple Documentation

你应该继承UIActivity只有当你想向用户提供定制服务。该系统已经为许多标准服务提供了支持,并通过UIActivityViewController对象使它们可用。例如,标准活动视图控制器支持通过电子邮件发送数据,将项目发布到其中一个用户的社交媒体帐户以及其他几个选项。您不必为任何内置类型提供自定义服务。

号:

的Instagram有UIActivity没有电流支持。

Instagram Documentation

NSURL *instagramURL = [NSURL URLWithString:@"instagram://location?id=1"]; 
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) { 
    [[UIApplication sharedApplication] openURL:instagramURL]; 
} 
相关问题