在 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 中打开情节提要文件