Fixed UIPopoverPresentationController crash

Fixed UIPopoverPresentationController should have a non-nil sourceView
or barButtonItem crash.

Before presentation, check if
controller.popoverPresentationController.barButtonItem is null; it is
null, assign shareButton to it.