【发布时间】:2015-05-01 10:10:31
【问题描述】:
我想使用 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 ]
【问题讨论】:
标签: facebook swift sharing uiactivityviewcontroller ios8.4