iOS 8.1 Swift UIActivityViewController不显示社交媒体分享(Facebook,Twitter,WhatsApp等)

时间:2015-03-26 10:30:47

标签: ios facebook swift share uiactivityviewcontroller

我正在尝试将共享功能链接到我的swift应用程序中,但遇到了问题。 我正在使用UIActivityViewController来共享图像和文本,但唯一可用的选项是:

Share options

我想要Facebook,Twitter和Whatsapp的选项(以及其他的!)但我无法弄清楚我做错了什么。

我也尝试了其他代码/源代码项目,但我遇到了同样的问题,但是如果我在设备上进行safari,它会在共享表上提供缺少的社交媒体选项。

这是我的代码:

func shareTextImageAndURL(#sharingText: String?, sharingImage: UIImage?, sharingURL: NSURL?) {
    var sharingItems = [AnyObject]()

    if let text = sharingText {
        sharingItems.append(text)
    }
    if let image = sharingImage {
        sharingItems.append(image)
    }
    if let url = sharingURL {
        sharingItems.append(url)
    }

    let activityViewController = UIActivityViewController(activityItems: sharingItems, applicationActivities: nil)

    activityViewController.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList]


    if(activityViewController.popoverPresentationController != nil) {
        activityViewController.popoverPresentationController?.sourceView = self.view;
        var frame = UIScreen.mainScreen().bounds
        //            frame.height = frame.height / 2
        var newFrame = CGRect(x: frame.origin.x, y: frame.origin.y, width: frame.width, height: frame.height / 2)
        activityViewController.popoverPresentationController?.sourceRect = frame;
    }

    self.presentViewController(activityViewController, animated: true, completion: nil)
}

使用以下方法调用方法:

var image = UIImage(named: "icon_messages.png")?

    shareTextImageAndURL(sharingText: "Hello this is a test", sharingImage: image, sharingURL: NSURL(string: "http://www.example.com/"))

我的设备是运行iOS 8.1的iPhone 4s。

这是我尝试的其他代码(效果相同:)

http://stackoverflow.com/questions/28169192/ios-swift-uiactivityviewcontroller-completion-handler-returns-success-when-tweet

这个示例项目:

ttp://www.dvdowns.com/uiactivityviewcontroller/

有没有人知道这里会发生什么? 提前致谢!

3 个答案:

答案 0 :(得分:1)

在dvdowns.com/uiactivityviewcontroller/的评论中,您有答案:

让secondActivityItem:NSURL = NSURL(fileURLWithPath:...

NSURL(fileURLWithPath:“http://www.website.com/”)! (坏)

NSURL(字符串:“http://www.dvdowns.com/”)! (良好)

此致!!

答案 1 :(得分:0)

从菜单"分享"在iOS 8.3中消失了Twitter link

答案 2 :(得分:0)

我遇到同样的问题,答案是:

  

您可能未在设备设置中登录Facebook或Twitter。除非用户登录,否则他们不会在这里出现。提交Apple的错误。

谢谢马蒂。您可以找到答案here