アプリのコンテンツ(テキスト、画像など)をシェアする

override func viewDidLoad() {
    super.viewDidLoad()
    ...
    navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .action, target: self, action: #selector(shareTapped))
}

@objc func shareTapped() {
    let avc = UIActivityViewController(activityItems: [someText, someImage], applicationActivities: []
    avc.popoverPresentationController?.barButtonItem = navigationItem.rightBarButtonItem
    present(avc, animated: true)
}

その中、avc.popoverPresentationController?.barButtonItem = navigationItem.rightBarButtonItemを追加しないと、iPadでボタンを押すとクラッシュすることになる。
画像をシェアする時、info.plistに「Privacy - Photo Library Additions Usage Description」を追加する必要がある。