2016-10-22 58 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對象。我認爲我的自定義網址有問題。不過謝謝你與我分享你的時間。 –