在 Xcode 中,UIActivityViewController 不显示在社交媒体上分享的任何选项,例如在 Facebook、Twitter 等上分享

In Xcode, UIActivityViewController does not display any options as in sharing on social media such as sharing on Facebook, Twitter, etc

我尝试在我的 Xcode 项目 (swift) 中包含 UIActivityViewController,但是当我 运行 模拟器中的应用程序时,UIActivityViewController 没有'包括任何共享内容的选项(我认为一旦你包括它你可以获得所有选项,例如 "share on Facebook" 和 "share on Twitter"

这是我的代码:

import UIKit
class ViewController: UIViewController {


    @IBAction func shareTextButton(_ sender: UIButton) {


        let text = "This is some text that I want to share."


        let textToShare = [ text ]
        let activityViewController = UIActivityViewController(activityItems: textToShare, applicationActivities: nil)
        activityViewController.popoverPresentationController?.sourceView = self.view // so that iPads won't crash



        self.present(activityViewController, animated: true, completion: nil)

    }


    @IBAction func shareImageButton(_ sender: UIButton) {


        let image = UIImage(named: "Portrait")


        let imageToShare = [ image! ]
        let activityViewController = UIActivityViewController(activityItems: imageToShare, applicationActivities: nil)
        activityViewController.popoverPresentationController?.sourceView = self.view // so that iPads won't crash


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

}

这是调试控制台中出现的内容:

2017-04-05 18:32:34.902268-0700 AA[26541:4024236] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/cuiboy/Library/Developer/CoreSimulator/Devices/55F2DE69-127A-4F0E-871F-4E431586D8AF/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles objc[26541]: Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices (0x11a182cc0) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x119f996f0). One of the two will be used. Which one is undefined. 2017-04-05 18:32:35.141398-0700 AA[26541:4024236] [core] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.PostToTwitter => com.apple.share.Twitter.post 2017-04-05 18:32:35.141532-0700 AA[26541:4024236] [core] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.PostToFacebook => com.apple.share.Facebook.post 2017-04-05 18:32:35.141629-0700 AA[26541:4024236] [core] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.PostToWeibo => com.apple.share.SinaWeibo.post 2017-04-05 18:32:35.141728-0700 AA[26541:4024236] [core] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.TencentWeibo => com.apple.share.TencentWeibo.post 2017-04-05 18:32:35.141801-0700 AA[26541:4024236] [core] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.PostToFlickr => com.apple.share.Flickr.post 2017-04-05 18:32:35.141904-0700 AA[26541:4024236] [core] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.PostToVimeo => com.apple.share.Vimeo.post 2017-04-05 18:32:35.325040-0700 AA[26541:4024236] [MC] Reading from private effective user settings.

有人知道哪里出了问题吗?我该怎么做才能使 Facebook 和 twitter 以及其他社交媒体选项出现在 activity 视图控制器中? 谢谢

您的编码正确。

有一个 excludedActivityTypes 属性,您可以在其中编码您想要 排除 的内容,但如果不排除任何内容,设备上可用的内容都会出现(意思是如果设备上没有 FaceBook 或 Twitter,它就不会)。由于您使用的是模拟器,因此不会出现这些选项。

附带说明一下,调试控制台意味着您可能看到很多 "info" 您可能希望删除。如果是这样,请选择您的构建方案(左上 Xcode),选择 "Edit Scheme",然后添加以下环境变量:

姓名:OS_ACTIVITY_MODE

值:禁用