awacleberryの備忘録

アナログ人間のデジタル日記。

【iOS-Swift】UIActivity で共有モーダルを表示する

スクリーンショット 2017-11-13 17.11.52.png

ざっと次のような感じ。

let text:String = "この内容をシェア!"
let items = [text]
            
// 初期化
let activityVC = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
            
// UIViewを出すViewを指定:iPadでは以下を入れないと落ちる
activityVC.popoverPresentationController?.sourceView = self.view
            
// 共有で使用しないタイプを指定
let excludedActivityTypes = [
  UIActivityTypePostToWeibo,
  UIActivityTypeSaveToCameraRoll,
  UIActivityTypePrint
]

// タイプを登録
activityVC.excludedActivityTypes = excludedActivityTypes
            
// UIActivityViewControllerを表示
self.presentViewController(activityVC, animated: true, completion: nil)

以下の部分がないと iPadで落ちるので注意が必要。

activityVC.popoverPresentationController?.sourceView = self.view

参考
[Swift]UIActivityの使い方まとめ