Как узнать, поделился ли пользователь моим приложением или нет? - PullRequest
0 голосов
/ 23 февраля 2019

Мое приложение предназначено для получения баллов и выигрыша, и мне нужно дать пользователю возможность поделиться моим приложением, а затем дать ему несколько баллов.

Проблема в том, что я не знаю, какопределить, действительно ли пользователь поделился приложением или нет

Я использую следующий код:

func shareTapped(){
    let text = "example"
    let url = URL(string: "example.com")
    let image = UIImage(named: "example_image")
    let shareViewController = UIActivityViewController(activityItems: [text, image!, url!] ,applicationActivities: nil)
    self.present(shareViewController, animated: true, completion: {() in
        print("done")
    })
}

Метод совместного использования работает отлично, но мне было интересно, есть ли у нас какой-либо делегат?можете позвонить в этой ситуации.

Спасибо.

1 Ответ

0 голосов
/ 23 февраля 2019

Таким образом, есть 2 сценария, в которых пользователь может отменить общий доступ.

Один - когда присутствует UIActivityViewController, тогда на UIActivityViewController есть кнопка отмены, с которой пользователь может отменить ее, и да, вы можете обнаружить ее с помощьюметод

shareViewController.completionWithItemsHandler = { activity, completed, items, error in

}

В вышеописанном методе completed будет false, если пользователь отменил с UIActivityViewController кнопку отмены.и он вернет true, если пользователь успешно поделится, но вот второй случай с ним.

Так что для второго случая предположим, что пользователь хочет поделиться через watsapp, и нажмите на иконку watsapp из UIActivityViewController, и появится список пользователей watsapp..

Но на этом экране есть кнопка отмены, откуда пользователь может отменить обмен, но вы все равно получите completed флаг true, так что вы не сможете определить, нажал ли пользователь кнопку cancelиз списка пользователей watsapp.

...