2016년 3월 29일 화요일

[ios][swift] UIActivityViewController에서 자신의 ShareExtension이 표시 되지 않게 하고 싶다...

앱 내부에서 외부로 공유를 위해 UIActivityViewController를 써 보았다.
사용은 뭐 쉽다.
배열로 공유할 오브젝트들을 나열하면 알아서 공유를 해준다.
문제는 앱에서 ShareExtension을 제공하는데,
앱내에서 공유를 하려면 이 ShareExtension도 표시가 되서 보기가 않좋다.
뭐 경우에 따라서는 같은 앱으로 공유 하는것이니 쓸모가 있을 수도 있겠지만..
아무튼, SDK에 따르면 원하지 않는 Activity타입은 제외 할 수 있다고 하는데,
이것이 동작 하지 않는데.
근데 페이스북의 경우는 잘된다...
왠지 커스텀의 경우만 잘 안되던가 내가 잘못했던가 인 듯 한데.
도통 이유를 모르겠다.
StackOverFlow에도 질의를 해둔 상태인데 답이 올런지...
http://stackoverflow.com/q/36281743/2575254

아래는 나의 테스트 코드 :

let activityItems = [shareUrl]
    let activityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
    activityViewController.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
    activityViewController.excludedActivityTypes = ["com.mytest.ShareExtension"];

    activityViewController.completionHandler = { (activityType: String?, completed: Bool) -> Void in
        print(activityType) // printed "com.mytest.ShareExtension"
    }

    vc.presentViewController(activityViewController, animated: true, completion: nil);


댓글 없음:

댓글 쓰기