From c28cff05074c208e5367ecf0da7abf53f4307a66 Mon Sep 17 00:00:00 2001 From: Ryan Nystrom Date: Thu, 29 Jun 2017 11:18:15 -0700 Subject: [PATCH] different share options in issue vc, fixes #17 --- Classes/Issues/IssuesViewController.swift | 26 ++++++++++++++++++----- Resources/Info.plist | 2 +- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Classes/Issues/IssuesViewController.swift b/Classes/Issues/IssuesViewController.swift index f502949b6..966a47f44 100644 --- a/Classes/Issues/IssuesViewController.swift +++ b/Classes/Issues/IssuesViewController.swift @@ -9,6 +9,7 @@ import UIKit import IGListKit import TUSafariActivity +import SafariServices final class IssuesViewController: UIViewController, ListAdapterDataSource, FeedDelegate { @@ -44,7 +45,7 @@ final class IssuesViewController: UIViewController, ListAdapterDataSource, FeedD feed.adapter.dataSource = self let rightItem = UIBarButtonItem( - image: UIImage(named: "bullets"), + image: UIImage(named: "bullets-hollow"), style: .plain, target: self, action: #selector(IssuesViewController.onMore) @@ -60,11 +61,26 @@ final class IssuesViewController: UIViewController, ListAdapterDataSource, FeedD // MARK: Private API func onMore() { + let alert = UIAlertController() + let path = "https://github.com/\(owner)/\(repo)/issues/\(number)" - let url = URL(string: path)! - let safari = TUSafariActivity() - let activity = UIActivityViewController(activityItems: [url], applicationActivities: [safari]) - present(activity, animated: true) + let externalURL = URL(string: path)! + + let share = UIAlertAction(title: NSLocalizedString("Share...", comment: ""), style: .default) { _ in + let safariActivity = TUSafariActivity() + let controller = UIActivityViewController(activityItems: [externalURL], applicationActivities: [safariActivity]) + self.present(controller, animated: true) + } + let safari = UIAlertAction(title: NSLocalizedString("Open in Safari", comment: ""), style: .default) { _ in + let controller = SFSafariViewController(url: externalURL) + self.present(controller, animated: true) + } + let cancel = UIAlertAction(title: Strings.cancel, style: .cancel, handler: nil) + alert.addAction(share) + alert.addAction(safari) + alert.addAction(cancel) + + present(alert, animated: true) } // MARK: ListAdapterDataSource diff --git a/Resources/Info.plist b/Resources/Info.plist index fa122852e..f0a0e1ff0 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 1.0.0 CFBundleVersion - 127 + 128 LSApplicationQueriesSchemes org-appextension-feature-password-management