【发布时间】:2015-09-23 11:23:47
【问题描述】:
我正在尝试将共享功能链接到我的 swift 应用程序中,但遇到了问题。 我正在使用 UIActivityViewController 共享图像和文本,但唯一可用的选项是:
我想要 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/
有人知道这里会发生什么吗? 提前致谢!
【问题讨论】:
-
您是否以用户身份登录到某个社交网络?
-
感谢您的建议,我已登录 facebook 应用程序,但在 safari 上,facebook 共享选项仍然可用,即使我没有安装 twitter,也有 twitter 选项我的手机。
-
这里有一个教程,希望对你有帮助:codingexplorer.com/sharing-swift-app-uiactivityviewcontroller
-
谢谢,但我已经阅读了该教程(还有更多!),但是那个人似乎只是在他的项目中复制了与我的非常相似的代码,并且它可以正常工作。这可能与我的开发者许可证有关吗?
-
另外有趣的是,我将它设置为取消“添加到阅读列表”:
UIActivityTypeAddToReadingList但它仍然出现..奇怪
标签: ios facebook swift share uiactivityviewcontroller