Things take time

[SWIFT] UIActivityViewController를 이용하여 아이폰에 설치된 앱들에게 공유하기 본문

iOS (기능)

[SWIFT] UIActivityViewController를 이용하여 아이폰에 설치된 앱들에게 공유하기

겸손할 겸 2017. 5. 31. 09:49

[UIActivityViewController]


안드로이드의 Intent.createChooser와 비슷하달까, 공유할 내용이 적힌 배열을 전달하여 아이폰 내에 설치된 앱들에게 전달할 수 있는 기능이다. 카카오링크처럼 버튼이나 동작 등에 대한 자세한 기능까지는 사용하기 어렵지만, 텍스트 정도의 내용을 전달하는 것이라면 오히려 이 하나로 간편하게 끝낼 수 있다.

func announce() { print("announce call") let text = "공유할 내용" let textToShare = [ text ] // 액티비티 뷰 컨트롤러 셋업 let activityVC = UIActivityViewController(activityItems: textToShare, applicationActivities: nil) // 제외하고 싶은 타입을 설정 (optional) activityVC.excludedActivityTypes = [ UIActivityType.airDrop ] // 현재 뷰에서 present self.present(activityVC, animated: true, completion: nil) }

여기서 재밌는 설정, excludedActivityTypes라는 옵셔널 설정은 해당 앱이 화면 하단에서 뜰 수 없도록, 즉 공유하지 않는 앱으로 설정하는 방법인데 만약 저 airDrop대신 postToFacebook이란 설정을 넣게되면.. 공유하기를 해도 페이스북이 나오지 않는다는 것이다. 특정 앱은 공유할 대상에서 제외하겠다면 사용하면 된다.