我想使用 UIActivityViewController 分享简单的文本 我正在使用 swift,使用 xcode 6.3 代码非常简单,非常适合照片,但不仅仅是文本,我不想在 objectsToShare 中包含任何 Web URL,只是干净的文本这是代码:
var objectsToShare: ["some text to share"]!
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
//handler for completed task
activityVC.completionHandler = {(activityType, completed:Bool) in
if !completed {
println("cancelled")
return
}
reportCompleted() //report to server it's done.
}
//Excluded Activities Code
activityVC.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList, UIActivityTypeCopyToPasteboard ]
//activate the share view
self.presentViewController(activityVC, animated: true, completion: {
(complete) in
println(complete)
})
现在我知道这完全取决于用户是否拥有 Facebook——不仅取决于他的手机,还取决于他的设置。(我直接从我的手机 6 尝试过,它有 Facebook 设置,而不是从模拟器)这段代码曾经运行良好,并且仍然适用于图像,而不是文本,但由于某种原因,它停止用于文本共享,也许文字本身有关系,也许我的代码不好,或者Facebook,改变了一些东西。
感谢您对这个主题的任何想法。
为了让事情更奇怪,我发现了另外 2 件奇怪的事情。
- 发布文本的代码在模拟器上工作(只要你在设置facebook中添加)
- 如果我添加到 web url 它也可以(在设备中)如果我删除 web url 它不起作用。
//有效的代码:
var myWebsite = NSURL(string: "http://www.someurl.com/")
let textToShare = "Swift is awesome! Check out this website about it!"
objectsToShare = [textToShare , myWebsite!]
//continue regular.
//不起作用的代码:
let textToShare = "Swift is awesome! Check out this website about it!"
objectsToShare = [textToShare ]