2013-06-10 5 views
56

UIActivityViewController에 이메일 공유 대상을 설정하고 싶습니다. 또한 Twitter에서 공유하고 싶습니다. 트위터에서 우리가 공유하고 싶다면 140 자로 압축하는 텍스트가 필요합니다. 많은 SO 솔루션을 확인했지만 아무 것도 작동하지 않습니다.UIActivityViewController에서 메일 제목을 설정하는 방법은 무엇입니까?

최신 iOS 버전에서이 문제가 해결 되었습니까? 다른 "작업 솔루션"? 당신의 이메일 제목 설정하기위한 이메일 코드 아래

+0

아니 그것 힘 8.0 이상. 아래에서 내 의견을 확인하고 내가 옳은 길을 놓친다면 알려주십시오. 당신은 환영 – Femina

답변

76

보인다.

iOS 7 이상에서는 UIActivityItemSource 프로토콜을 준수하는 개체에 activityViewController:subjectForActivityType: 메서드를 구현하여 문서화 된 방법으로이 작업을 수행 할 수 있습니다.

+4

예, 'activityViewController : subjectForActivityType :'이 올바른 해결책입니다. 이상하게도 iOS Mail 앱은 제목을 올바르게 사용합니다 ** 그러나 Google Inbox **는 제목에 대한 메시지도 사용합니다 (subjectForActivityType을 통해 제공되는 제목이 아님) –

+1

@LeslieGodwin Gmail을 통해 공유하는 솔루션을 찾았습니까? –

+0

@TimCamber 위와 같은 방법으로 시도했지만 Gmail에서 공유를 통해 여전히 문제를 보여줍니다. 해결하는 것을 도와주세요 –

86

확인 : 여기

UIActivityViewController* avc = [[UIActivityViewController alloc] initWithActivityItems:@[@"Your String to share"] 
            applicationActivities:nil]; 
[avc setValue:@"Your email Subject" forKey:@"subject"]; 

avc.completionHandler = ^(NSString *activityType, BOOL completed) { 
    // ... 
}; 

라인을

[AVC의 setValue : "이메일 제목"@ forKey : "대상"@] ;

사용자가 UIActivityViewController에서 전자 메일 옵션을 선택하면 제목이 "사용자 전자 메일 제목"으로 설정됩니다. emreoktem의이 솔루션 보내는 UIActivityViewControllersetValue:forKey:이 문서화되지 않은 -is 것처럼 나는 그것이 도움이되기를 바랍니다

은 ...

+0

감사합니다 :) – emreoktem

+1

가 [activityVC setCompletionHandler가 :^(있는 NSString * activityType이 BOOL 완료) { 경우 ([activityType isEqualToString : UIActivityTypeMail]) { ("메일 유형 선택"@) NSLog; [activityVC setValue : @ "공유!" forKey : @ "subject"]]; } }]; 그것의 작동하지 않는 emreoktem! – Femina

+0

@Meenu 완료 처리기 전에 *를 설정해야합니다. – colinta

12

스위프트 2.0에 대한 & IOS

let title = "Title of the post" 
let content = "Content of the post" 
let objectsToShare = [title, content] 

let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)  
activityVC.setValue(title, forKey: "Subject") 
self.presentViewController(activityVC, animated: true, completion: nil) 
+0

이 링크가 웹 사이트 링크를 공유 할 수 있습니까?[title, content, link] 과 같이 URL이 콘텐츠 자체에 속해야하고 이메일 클라이언트가이를 구문 분석하여 클릭 할 수있게해야합니까? – gadget00

관련 문제