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

Posted

技术标签:

【中文标题】在 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 【发布时间】:2017-04-06 01:37:29 【问题描述】:

我尝试在我的 Xcode 项目 (swift) 中包含 UIActivityViewController,但是当我在模拟器中运行应用程序时,UIActivityViewController 没有包含任何共享内容的选项(我认为一旦包含它就可以获取所有选项,例如“在 Facebook 上分享”和“在 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] 系统组 systemgroup.com.apple.configurationprofiles 路径的容器是 /Users/cuiboy/Library/Developer/CoreSimulator/Devices/55F2DE69-127A-4F0E-871F-4E431586D8AF/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles objc[26541]:PLBuildVersion 类在两者中都实现 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices (0x11a182cc0) 和 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x119f996f0)。将使用两者之一。哪一个是未定义的。 2017-04-05 18:32:35.141398-0700 AA[26541:4024236] [核心] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.PostToTwitter => com.apple.share.Twitter.post 2017-04-05 18:32:35.141532-0700 AA[26541:4024236] [核心] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.PostToFacebook => com.apple.share.Facebook.post 2017-04-05 18:32:35.141629-0700 AA[26541:4024236] [核心] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.PostToWeibo => com.apple.share.SinaWeibo.post 2017-04-05 18:32:35.141728-0700 AA[26541:4024236] [核心] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.TencentWeibo => com.apple.share.TencentWeibo.post 2017-04-05 18:32:35.141801-0700 AA[26541:4024236] [核心] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.PostToFlickr => com.apple.share.Flickr.post 2017-04-05 18:32:35.141904-0700 AA[26541:4024236] [核心] SLComposeViewController extensionIdentifierForActivityType: com.apple.UIKit.activity.PostToVimeo => com.apple.share.Vimeo.post 2017-04-05 18:32:35.325040-0700 AA[26541:4024236] [MC] 阅读自 私人有效用户设置。

有人知道怎么回事吗?如何使 Facebook 和 twitter 以及其他社交媒体选项出现在活动视图控制器中? 谢谢

【问题讨论】:

我觉得这些选项会出现在真机上 【参考方案1】:

您已正确编码。

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

附带说明,调试控制台暗示您可能会看到很多您可能希望删除的“信息”。如果是这样,请选择您的构建方案(Xcode 左上角),选择“编辑方案”,然后添加以下环境变量:

名称:OS_ACTIVITY_MODE

值:禁用

【讨论】:

非常感谢!!我在我的 iPhone 上模拟了它,它运行良好。非常感谢

以上是关于在 Xcode 中,UIActivityViewController 不显示任何选项,如在社交媒体上分享,如在 Facebook、Twitter 等上分享的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 9 中使用 Xcode 服务器?我们是不是需要始终打开 Xcode 9?

Xcode 4 不允许我打开在 Xcode 5 中编辑的情节提要

在 Xcode 13 和 Xcode 12 中使用 previewCGImageRepresentation?

在 xcode 5 中打开项目后无法在 xcode 4.6.3 中打开情节提要文件

在 xcode 4 中打开 xcode 3.2 VST 项目

Xcode SpriteKit:如何在 Xcode 13 中添加 Sprite Atlas