シンプル家計簿 - Moneybook で、特定の方法でシェアしてくれた時にだけなにかしてあげるというのをUIActivityViewControllerを使って実装してました。
ブレークポイントを使ってUIActivityType.rawValue
で対象の方法を調べれます。
let url = URL(string: "https://itunes.apple.com/jp/app/APP_ID?mt=8")!
let activityVC = UIActivityViewController(activityItems: ["このアプリいいよ!", "シンプル家計簿 - Moneybook", url], applicationActivities: nil)
present(activityVC, animated: true, completion: nil)
// シェアしてくれたかの判定
activityVC.completionWithItemsHandler = { (activityType: UIActivityType?, completed: Bool, returnedItems: [Any]?, activityError: Error?) in
guard completed else {
return
}
// シェア対象の一覧
let targets = [
"com.apple.UIKit.activity.PostToTwitter",
"com.apple.UIKit.activity.PostToFacebook",
"jp.naver.line.Share"
]
// シェアされた方法は対象の方法か判定
if let type = activityType, targets.index(of: type.rawValue) != nil {
// 対象の方法でシェアしてくれた、なにかしてあげる
print("ありがとう!これあげる!")
} else {
// 対象外の方法でシェアされた
print("TwitterかfacebookかLINEでシェアしてね!")
}
}