일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- gradle
- NSURLConnection
- 카카오톡
- Android
- In-app Billing
- xcode
- Android O Preview
- HTTP
- 트위터
- android studio
- Activity 수명 주기
- 페이스북
- service
- AccountManager
- Push
- contentprovider
- 다른 앱에서 열기
- BLOCK
- 배포
- 데이터 공유
- Google Cloud Messasging
- Google Cloud Messasing
- GCM
- unreal
- signing
- Unchecked Exception
- ios
- ios9
- 안드로이드 개발 레벨업 교과서
- Android O
- Today
- Total
노블의 개발이야기
[iOS] UIActivityViewController 본문
UIActivityViewController
UIActivityViewControllersm는 iOS 6에서 새롭게 추가된 클래스로서, 이 클래스를 활용하면 뷰 컨트롤러가 컨텐츠를 여러 서비스(OS내 설치된 어플리케이션)에게 공유할 수 있게 해준다.
공유 대상 서비스의 범위는 SNS 또는 이메일, 클립보드 복사하기와 iOS 소셜 프레임워크로 추가된 트위터(Twitter), 페이스북(Facebook), 웨이보(Weibo)가 해당된다.
UIActivityViewController는 UIDocumentInteractionController와 성격이 다르다.
두 클래스 모두 데이터를 다른 앱과 공유한다는 목적은 같으나 UIDocumentInteractionController는 리소스 파일 기반의 공유(예를 들어 윈도우의 특정 확장자에 대한 연결 프로그램)이고 UIActivityViewController는 공유할 수 있는 앱은 한정되어 있으나 객체 기반의 공유이다.
UIActivityViewController가 공유할 수 있는 랩은 위에서 설명하였듯이 기본 앱(SNS, 이메일, 클립보드)와 소셜 프레임워크 지원 대상(트위터, 페이스북, 웨이보)이며 그 외의 어플리케이션을 추가하고 싶으면 대상 어플리케이션이 UIAcitivityViewController를 상송한 클래스를 제공해야 한다.
UIActivityViewController 생성
- (void)shareDataWithText:(NSString *)text url:(NSURL *)url {
DCKakaoActivity *kakaoActivity = [[DCKakaoActivity alloc] init];
DCLineActivity *lineActivity = [[DCLineActivity alloc] init];
NSArray *activityItems = @[text, url];
NSArray *applicationActivitys = @[kakaoActivity, lineActivity];
UIActivityViewController *activityViewController =
[[UIActivityViewController alloc] initWithActivityItems:activityItems
applicationActivities:applicationActivitys];
//Excluded Activities Code
activityViewController.excludedActivityTypes = @[
UIActivityTypeAddToReadingList,
UIActivityTypeAssignToContact,
//UIActivityTypeMessage,
//UIActivityTypeSaveToCameraRoll,
//UIActivityTypePrint,
//UIActivityTypePostToWeibo,
//UIActivityTypeCopyToPasteboard
];
//activate the share view
[self presentViewController:activityViewController
animated:YES
completion:nil];
}
UIActivityViewControllerSample.zip
[참고 사이트]
UIActivityViewController를 이용하여 다른 랩과 컨텐츠 공유하기
UIActivityController을 통해서 공유를 쉽게하자.
DCActivity (Kakao, Line Activity sample code)
UIAcitivyCollection (A collection of iOS6 UIActivity provides)
'iOS' 카테고리의 다른 글
[iOS] Framework 만들기 (0) | 2015.07.14 |
---|---|
[iOS] UIView에서 상위 UIVewController 가져오기 (0) | 2015.07.13 |
[iOS] UIActionSheet (0) | 2015.07.13 |
[iOS] UIWebView 웹페이지 너비 맞추기 (0) | 2015.05.14 |
[iOS] XML Parser (0) | 2015.05.06 |