2015-11-07 97 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]; 
} 
相關問題