2016-10-22 31 views
1

我想分享一个已经在应用程序和文本中创建的URL文件。但它似乎只能共享文本而不是任何数据,如URL或UIImage。 我使用的代码:UIActivityController共享URL文件

let sharedVideo = Video(Title: _data[1], VideoID: _data[0], Duration: _data[3], ViewCount: _data[2]) 
let sharedURL = VideoManager.exportData(video: sharedVideo) 
let shareItems:Array = [sharedURL,"check this out baby!"] as [Any] 

let activityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil) 

self.present(activityViewController, animated: true, completion: nil) 

而且我使用UIImage对象,而不是sharedURL,看它是否有问题,URL或没有。

即使对图像文件也不起作用。当我点击UIActivityViewController内的分享按钮时,它仅适用于文本,没有网址和图片。 我正在使用Swift 3 in Xcode 8

谢谢。

PS:我确信sharedURL对象不是零也不是未定义的。

+0

你想分享URL或文本到社交和你的应用程序? – seggy

+0

@seggy我想与社交应用共享带有网址的文本,并将其转发给其他iOS设备用户。谢谢 –

+0

ohk你可以按照@Sanjeet verma回答 – seggy

回答

5

试试这个,我希望这会对你有帮助!

@IBAction func btnExport(sender: AnyObject) 
{ 

    let someText:String = "Hello want to share text also" 
    let objectsToShare:URL = URL(string: "http://www.google.com")! 
    let sharedObjects:[AnyObject] = [objectsToShare as AnyObject,someText as AnyObject] 
    let activityViewController = UIActivityViewController(activityItems : sharedObjects, applicationActivities: nil) 
    activityViewController.popoverPresentationController?.sourceView = self.view 

    activityViewController.excludedActivityTypes = [ UIActivityType.airDrop, UIActivityType.postToFacebook,UIActivityType.postToTwitter,UIActivityType.mail] 

    self.present(activityViewController, animated: true, completion: nil) 

} 
+0

起初我尝试了你使用图片分享的代码,它完美的工作。现在我要尝试编辑的代码来查看它是否适用于URL。非常感谢。 –

+0

@BehdadAhmadi如果我的答案是可以接受的,那么我很乐意帮助你,然后提高我的评价。 –

+0

谢谢你的朋友,你的回答是有效的,我的自定义网址再次失败。我的url包含一个NSDictionary,它包含4个字符串,1个base64encoded字符串和一个Data对象。我认为我的自定义网址有问题。不过谢谢你与我分享你的时间。 –