2017-05-17 1 views
0

다른 미디어에서 데이터를 공유하기 위해 UIActivityViewController을 사용하고 있습니다. 데이터가 공유 된 사용자 정보를 얻으려면 어떻게해야합니까? 사람의 이름보다 whatsapp에서 공유가 이루어 지거나 사람의 이메일 ID보다 메일을 통해 공유되는 경우처럼. 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

는 아이폰 OS에 처음부터 당신의 통제를받지 않는 응용 프로그램과 통신 할 수 없습니다. UIActivityViewController은 개체를 다른 앱과 공유하기위한 수단/매체 일뿐입니다. 데이터를 전달하자마자 수신자 앱이 관련 정보를 처리합니다.