我正努力让我的应用程序正确共享一个URL,以便在Safari中打开#34;和"在Chrome中打开"活动项目显示在共享表中。我尝试过几种不同的方式分享网址:
NSURL *data = _article.url;
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[data] applicationActivities:nil];
作为参考,这些是我试图出现的两个活动项目。
答案 0 :(得分:3)
看来有一个非常受欢迎的图书馆" SVWebViewController"用于在应用程序Web视图中显示。该库还包含一些可用于执行此操作的不错活动项。
https://github.com/TransitApp/SVWebViewController
以下是您可以使用的代码示例(不要忘记在代码中包含标题)
#import "SVWebViewControllerActivityChrome.h"
#import "SVWebViewControllerActivitySafari.h"
- (void)share:(id)sender {
NSArray *activities = @[[SVWebViewControllerActivitySafari new], [SVWebViewControllerActivityChrome new]];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[_article.url] applicationActivities:activities];
}
答案 1 :(得分:3)
您可以使用一些(小)库提供自定义UIActivity
控件,以便在Safari中打开"打开#34;和"在Chrome中打开"活动项目。
Chrome:ARChromeActivity
@IBAction func shareClick(_ sender: Any) {
var sharingItems = [AnyObject]()
var sharingActivities = [UIActivity]()
sharingItems.append(URL(string: shareURL)! as AnyObject)
sharingActivities.append(TUSafariActivity())
sharingActivities.append(ARChromeActivity())
let activityViewController = UIActivityViewController(activityItems: sharingItems, applicationActivities: sharingActivities)
activityViewController.popoverPresentationController?.barButtonItem = self.navigationItem.rightBarButtonItem;
self.present(activityViewController, animated: true, completion: nil)
}
可以在https://github.com/shu223/UIActivityCollection
上找到更多自定义UIActivity
控件