Swift では、 ShareLink
を使うことで、簡単に共有メニューを作ることが出来ます。
しかし、テキストを共有したいが、プレビューは編集したいとき、次のように ShareLink を定義すると、共有先のアプリではアイテムを受け取ってくれません:
ShareLink( item: "シェアしたい!", preview: SharePreview("\"シェアしたい!\" を共有するよ", image: Image("AppIcon") )
解決方法としては、タイトルの通り subject/message を指定します:
let text = "シェアしたい!" ShareLink( item: text, subject: Text("共有したいものがあるよ"), message: Text(text), preview: SharePreview("\"\(text)\" を共有するよ", image: Image("AppIcon") )
こうすると、基本は message
に指定したアイテムを、対応しているアプリでは subject
に指定したアイテムも受け取ってくれます。
ということで、ちょっとした困りごとでした。