如何在IOS中使用共享表共享文件?
问题描述:
我想在我的应用程序中使用iPhone中的共享表功能共享一些文件。我将文件显示在UIWebview
中,当用户单击分享表时,我想显示选项(电子邮件,whats app等)以共享显示在UIWebView
上的文件。我知道我们可以使用如何在IOS中使用共享表共享文件?
func displayShareSheet(shareContent:String) {
let activityViewController = UIActivityViewController(activityItems: [shareContent as NSString], applicationActivities: nil)
presentViewController(activityViewController, animated: true, completion: {})
}
以共享字符串为例。如何更改此代码以共享文档?
在此先感谢。
答
我想分享我的解决方案UIActivityViewController和共享文本作为图像文件。此解决方案适用于通过邮件共享,甚至保存到Dropbox。
@IBAction func shareCsv(sender: AnyObject) {
//Your CSV text
let str = self.descriptionText.text!
filename = getDocumentsDirectory().stringByAppendingPathComponent("file.png")
do {
try str.writeToFile(filename!, atomically: true, encoding: NSUTF8StringEncoding)
let fileURL = NSURL(fileURLWithPath: filename!)
let objectsToShare = [fileURL]
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
self.presentViewController(activityVC, animated: true, completion: nil)
} catch {
print("cannot write file")
// failed to write file – bad permissions, bad filename, missing permissions, or more likely it can't be converted to the encoding
}
}
func getDocumentsDirectory() -> NSString {
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let documentsDirectory = paths[0]
return documentsDirectory
}