2017-05-17 10 views
0

私はUIActivityViewControllerを使用して、異なるメディアでデータを共有しています。データを共有したユーザー情報を取得するにはどうすればよいですか。人の名前よりもwhatsapp上で共有されている場合や、メールの方がメールの方が共有されている場合と同様です。swift 3データを共有したユーザー情報を取得

またのWhatsAppなど、データのたまり場のように共有されたアクティビティ名を取得する方法を

+2

このデータを取得することはできません。あなたのアプリはwhatsaapで共有するオブジェクトを作成するためです。その後、彼はwhatsappにそれを送り、whatsaapは残りを処理します。 –

答えて

0

あなたはUIActivityViewControllerからこの情報を取得することはできません。あなたができることは、手動でアクションを呼び出すことです。例えば:

import MessageUI 

let messageComposeViewController = MFMessageComposeViewController() 
messageComposeViewController.messageComposeDelegate = self 
messageComposeViewController.recipients = ["[email protected]"] 
messageComposeViewController.body = "Lorem ipsum dolor sit amet" 
navigationController?.presentViewController(messageComposeViewController, animated: true) { 
    // ... 
} 

または

import MessageUI 

let mailComposeViewController = MFMailComposeViewController() 
mailComposeViewController.mailComposeDelegate = self 
mailComposeViewController.setToRecipients(["[email protected]"]) 
mailComposeViewController.setSubject("Hello") 
mailComposeViewController.setMessageBody("Lorem ipsum dolor sit amet", isHTML: false) 
navigationController?.presentViewController(mailComposeViewController, animated: true) { 
    // ... 
} 
0

あなたが行うことができないデフォルト制御であるUIActivityViewControllerといます。 このようなUIActivityViewControllerの補完ブロックによってのみ正常に共有されているかどうかの状態を取得できます。

スウィフト3

let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil) 
activityVC.completionWithItemsHandler = {(activity: UIActivityType?, completed: Bool, returnedItems: [Any]?, error: Error?) in 

     if (completed == true) { 
      print("Share successfully") 
     } 
    } 
    self.present(activityVC, animated: true, completion: nil) 
0

アプリは、iOSでの最初の場所であなたのコントロール下にないアプリと通信することはできません。 UIActivityViewControllerは、オブジェクトを他のアプリと共有する手段/媒体に過ぎません。あなたのデータを渡すとすぐに、受信者のアプリはそれが何をする必要があるの世話をします。

関連する問題