From 328bcfb10438bfaf6b9a1010edd9ab85ec2e39bc Mon Sep 17 00:00:00 2001 From: Julien CAMPY Date: Mon, 21 Nov 2016 15:28:18 +0100 Subject: [PATCH 1/8] [JCA] Updated deprecated popover method --- Classes/View/PDFKBasicPDFViewer.h | 4 --- Classes/View/PDFKBasicPDFViewer.m | 9 ++++--- Classes/View/PDFKPageContent.m | 3 ++- M13PDFKit.xcodeproj/project.pbxproj | 19 ++++++++++---- .../xcshareddata/xcschemes/M13PDFKit.xcscheme | 13 ++++++---- .../AppIcon.appiconset/Contents.json | 25 +++++++++++++++++++ M13PDFKit/Info.plist | 2 +- M13PDFKitTests/Info.plist | 2 +- 8 files changed, 56 insertions(+), 21 deletions(-) diff --git a/Classes/View/PDFKBasicPDFViewer.h b/Classes/View/PDFKBasicPDFViewer.h index 51133a8..c2f8102 100644 --- a/Classes/View/PDFKBasicPDFViewer.h +++ b/Classes/View/PDFKBasicPDFViewer.h @@ -92,10 +92,6 @@ typedef void (^PDFKBasicPDFViewerPageChangeBlock)(NSUInteger page); The slider at the bottom of the screen to show the thumbnails. */ @property (nonatomic, retain, readonly) UIToolbar *thumbnailSlider; -/** - The popover controller to share the document on the iPad. - */ -@property (nonatomic, strong, readonly) UIPopoverController *activityPopoverController; /** The share button. */ diff --git a/Classes/View/PDFKBasicPDFViewer.m b/Classes/View/PDFKBasicPDFViewer.m index 4d59419..85ebf64 100644 --- a/Classes/View/PDFKBasicPDFViewer.m +++ b/Classes/View/PDFKBasicPDFViewer.m @@ -26,7 +26,6 @@ @interface PDFKBasicPDFViewer () + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -62,15 +62,18 @@ ReferencedContainer = "container:M13PDFKit.xcodeproj"> + + @@ -86,10 +89,10 @@ diff --git a/M13PDFKit/Images.xcassets/AppIcon.appiconset/Contents.json b/M13PDFKit/Images.xcassets/AppIcon.appiconset/Contents.json index 8ce3f36..377da0f 100644 --- a/M13PDFKit/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/M13PDFKit/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,5 +1,15 @@ { "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, { "size" : "29x29", "idiom" : "iphone", @@ -36,6 +46,16 @@ "filename" : "Icon-60@3x.png", "scale" : "3x" }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, { "size" : "29x29", "idiom" : "ipad", @@ -71,6 +91,11 @@ "idiom" : "ipad", "filename" : "Icon-76@2x.png", "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" } ], "info" : { diff --git a/M13PDFKit/Info.plist b/M13PDFKit/Info.plist index 08c7f50..fa00b2c 100644 --- a/M13PDFKit/Info.plist +++ b/M13PDFKit/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.BrandonMcQuilkin.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/M13PDFKitTests/Info.plist b/M13PDFKitTests/Info.plist index bf86bd5..ba72822 100644 --- a/M13PDFKitTests/Info.plist +++ b/M13PDFKitTests/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.BrandonMcQuilkin.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName From 994f403451ac93af59e194dc076be8044b74a1e9 Mon Sep 17 00:00:00 2001 From: Julien CAMPY Date: Wed, 23 Nov 2016 14:47:04 +0100 Subject: [PATCH 2/8] [JCA] Fix when the pod is used as a framework instead of a static library --- Classes/View/PDFKBasicPDFViewer.m | 8 ++++---- Classes/View/PDFKBasicPDFViewerThumbsCollectionView.m | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Classes/View/PDFKBasicPDFViewer.m b/Classes/View/PDFKBasicPDFViewer.m index 85ebf64..3a4fe64 100644 --- a/Classes/View/PDFKBasicPDFViewer.m +++ b/Classes/View/PDFKBasicPDFViewer.m @@ -255,7 +255,7 @@ - (void)resetNavigationToolbar } //Add list - UIBarButtonItem *listItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Thumbs"] landscapeImagePhone:[UIImage imageNamed:@"Thumbs"] style:UIBarButtonItemStylePlain target:self action:@selector(list)]; + UIBarButtonItem *listItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Thumbs" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil] landscapeImagePhone:[UIImage imageNamed:@"Thumbs" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(list)]; [buttonsArray addObject:listItem]; //Flexible space @@ -270,9 +270,9 @@ - (void)resetNavigationToolbar //Add bookmarks //Change image based on wether or not the page is bookmarked if (![_document.bookmarks containsIndex:_document.currentPage]) { - _bookmarkItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Bookmark"] style:UIBarButtonItemStylePlain target:self action:@selector(bookmark)]; + _bookmarkItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Bookmark" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(bookmark)]; } else { - _bookmarkItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Bookmarked"] style:UIBarButtonItemStylePlain target:self action:@selector(bookmark)]; + _bookmarkItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Bookmarked" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(bookmark)]; } [buttonsArray addObject:_bookmarkItem]; @@ -313,7 +313,7 @@ - (void)resetNavigationToolbar [buttonsArray addObject:[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]]; //Bookmarks - UISegmentedControl *control = [[UISegmentedControl alloc] initWithItems:@[[UIImage imageNamed:@"Thumbs"], [UIImage imageNamed:@"Bookmark"]]]; + UISegmentedControl *control = [[UISegmentedControl alloc] initWithItems:@[[UIImage imageNamed:@"Thumbs" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil], [UIImage imageNamed:@"Bookmark" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil]]]; [control setSelectedSegmentIndex:(!_showingBookmarks ? 0 : 1)]; [control sizeToFit]; [control addTarget:self action:@selector(toggleShowBookmarks:) forControlEvents:UIControlEventValueChanged]; diff --git a/Classes/View/PDFKBasicPDFViewerThumbsCollectionView.m b/Classes/View/PDFKBasicPDFViewerThumbsCollectionView.m index 6c307aa..6e04045 100644 --- a/Classes/View/PDFKBasicPDFViewerThumbsCollectionView.m +++ b/Classes/View/PDFKBasicPDFViewerThumbsCollectionView.m @@ -228,7 +228,7 @@ - (void)showBookmark:(BOOL)show if (!show) { _bookmarkView.image = nil; } else { - _bookmarkView.image = [[UIImage imageNamed:@"Bookmarked"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; + _bookmarkView.image = [[UIImage imageNamed:@"Bookmarked" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; } } From 97ed5392ee79c554bd5316ed865f590c7d0eb960 Mon Sep 17 00:00:00 2001 From: Julien CAMPY Date: Wed, 23 Nov 2016 15:37:54 +0100 Subject: [PATCH 3/8] [JCA] now using resources bundle --- Classes/View/PDFKBasicPDFViewer.h | 2 ++ Classes/View/PDFKBasicPDFViewer.m | 24 +++++++++++++++---- .../PDFKBasicPDFViewerThumbsCollectionView.m | 3 ++- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/Classes/View/PDFKBasicPDFViewer.h b/Classes/View/PDFKBasicPDFViewer.h index c2f8102..d28efe4 100644 --- a/Classes/View/PDFKBasicPDFViewer.h +++ b/Classes/View/PDFKBasicPDFViewer.h @@ -48,6 +48,8 @@ typedef void (^PDFKBasicPDFViewerPageChangeBlock)(NSUInteger page); */ - (void)displayPage:(NSUInteger)page; ++ (NSBundle*)getResourcesBundle; + /**@name Properties*/ @property (nonatomic, strong) PDFKBasicPDFViewerPageChangeBlock pageChangeBlock; diff --git a/Classes/View/PDFKBasicPDFViewer.m b/Classes/View/PDFKBasicPDFViewer.m index 3a4fe64..267eaa0 100644 --- a/Classes/View/PDFKBasicPDFViewer.m +++ b/Classes/View/PDFKBasicPDFViewer.m @@ -255,7 +255,7 @@ - (void)resetNavigationToolbar } //Add list - UIBarButtonItem *listItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Thumbs" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil] landscapeImagePhone:[UIImage imageNamed:@"Thumbs" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(list)]; + UIBarButtonItem *listItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Thumbs" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil] landscapeImagePhone:[UIImage imageNamed:@"Thumbs" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(list)]; [buttonsArray addObject:listItem]; //Flexible space @@ -270,9 +270,9 @@ - (void)resetNavigationToolbar //Add bookmarks //Change image based on wether or not the page is bookmarked if (![_document.bookmarks containsIndex:_document.currentPage]) { - _bookmarkItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Bookmark" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(bookmark)]; + _bookmarkItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Bookmark" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(bookmark)]; } else { - _bookmarkItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Bookmarked" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(bookmark)]; + _bookmarkItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Bookmarked" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(bookmark)]; } [buttonsArray addObject:_bookmarkItem]; @@ -313,7 +313,12 @@ - (void)resetNavigationToolbar [buttonsArray addObject:[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]]; //Bookmarks - UISegmentedControl *control = [[UISegmentedControl alloc] initWithItems:@[[UIImage imageNamed:@"Thumbs" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil], [UIImage imageNamed:@"Bookmark" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil]]]; + + + UIImage *thumbsImage = [UIImage imageNamed:@"Thumbs" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil]; + UIImage *bookmarkImage = [UIImage imageNamed:@"Bookmark" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil]; + + UISegmentedControl *control = [[UISegmentedControl alloc] initWithItems:@[thumbsImage, bookmarkImage]]; [control setSelectedSegmentIndex:(!_showingBookmarks ? 0 : 1)]; [control sizeToFit]; [control addTarget:self action:@selector(toggleShowBookmarks:) forControlEvents:UIControlEventValueChanged]; @@ -614,5 +619,16 @@ - (void)toggleSinglePageView } } +#pragma mark - Static methods + ++ (NSBundle*)getResourcesBundle +{ + NSBundle *frameworkBundle = [NSBundle bundleForClass:[self class]]; + NSURL *frameworkResourcesBundleUrl = [frameworkBundle URLForResource:@"M13PDFKitResources" withExtension:@"bundle"]; + NSBundle *frameworkResourcesBundle = [NSBundle bundleWithURL:frameworkResourcesBundleUrl]; + + return frameworkResourcesBundle; +} + @end diff --git a/Classes/View/PDFKBasicPDFViewerThumbsCollectionView.m b/Classes/View/PDFKBasicPDFViewerThumbsCollectionView.m index 6e04045..a2b0f12 100644 --- a/Classes/View/PDFKBasicPDFViewerThumbsCollectionView.m +++ b/Classes/View/PDFKBasicPDFViewerThumbsCollectionView.m @@ -19,6 +19,7 @@ #import "PDFKThumbView.h" #import "PDFKThumbRequest.h" #import "PDFKThumbCache.h" +#import "PDFKBasicPDFViewer.h" #import @interface PDFKBasicPDFViewerThumbsCollectionView () @@ -228,7 +229,7 @@ - (void)showBookmark:(BOOL)show if (!show) { _bookmarkView.image = nil; } else { - _bookmarkView.image = [[UIImage imageNamed:@"Bookmarked" inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; + _bookmarkView.image = [[UIImage imageNamed:@"Bookmarked" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; } } From 8d277d46796a86e79168fede0b7ee14c8bb47ecf Mon Sep 17 00:00:00 2001 From: Julien CAMPY Date: Wed, 23 Nov 2016 15:50:05 +0100 Subject: [PATCH 4/8] [JCA] Added the possibility to hide the thumbs button --- Classes/View/PDFKBasicPDFViewer.h | 4 ++++ Classes/View/PDFKBasicPDFViewer.m | 15 +++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Classes/View/PDFKBasicPDFViewer.h b/Classes/View/PDFKBasicPDFViewer.h index d28efe4..d45baaf 100644 --- a/Classes/View/PDFKBasicPDFViewer.h +++ b/Classes/View/PDFKBasicPDFViewer.h @@ -57,6 +57,10 @@ typedef void (^PDFKBasicPDFViewerPageChangeBlock)(NSUInteger page); @property (nonatomic, strong, readonly) PDFKDocument *document; /**@name Features*/ +/** + Wether or not to allow showing the thumbs button. + */ +@property (nonatomic, assign) BOOL enableThumbs; /** Wether or not to allow bookmarking of pages. */ diff --git a/Classes/View/PDFKBasicPDFViewer.m b/Classes/View/PDFKBasicPDFViewer.m index 267eaa0..6851abc 100644 --- a/Classes/View/PDFKBasicPDFViewer.m +++ b/Classes/View/PDFKBasicPDFViewer.m @@ -254,12 +254,15 @@ - (void)resetNavigationToolbar [buttonsArray addObject:space]; } - //Add list - UIBarButtonItem *listItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Thumbs" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil] landscapeImagePhone:[UIImage imageNamed:@"Thumbs" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(list)]; - [buttonsArray addObject:listItem]; - - //Flexible space - [buttonsArray addObject:[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]]; + if(_enableThumbs == YES) + { + //Add list + UIBarButtonItem *listItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Thumbs" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil] landscapeImagePhone:[UIImage imageNamed:@"Thumbs" inBundle:[PDFKBasicPDFViewer getResourcesBundle] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(list)]; + [buttonsArray addObject:listItem]; + + //Flexible space + [buttonsArray addObject:[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]]; + } //Bookmark Button if (_enableBookmarks) { From fe73b63643c782cc26ab0f123df88640900ae962 Mon Sep 17 00:00:00 2001 From: Julien CAMPY Date: Fri, 6 Oct 2017 16:02:06 +0200 Subject: [PATCH 5/8] Removed useless warning --- Classes/View/PDFKPageContentView.m | 1 - 1 file changed, 1 deletion(-) diff --git a/Classes/View/PDFKPageContentView.m b/Classes/View/PDFKPageContentView.m index dd68740..8edea34 100644 --- a/Classes/View/PDFKPageContentView.m +++ b/Classes/View/PDFKPageContentView.m @@ -279,7 +279,6 @@ - (void)setBounds:(CGRect)bounds //On the third page, the bounds size get set to 0 by autolayout for all pages that are created next. //No idea why... //EXPLAIN!!! EXPLAIN!!! EXPLAIN!!! Explain yourself doctor... -#warning EXPLAIN!!! if (bounds.size.width != 0 && bounds.size.height != 0) { [super setBounds: bounds]; } From a9dfa1dc66cfb34b4e7ac5c3711239fa4c05f0d7 Mon Sep 17 00:00:00 2001 From: Julien CAMPY Date: Fri, 6 Oct 2017 18:16:56 +0200 Subject: [PATCH 6/8] Fix warnings --- Classes/Document/CGPDFDocument.m | 3 ++- Classes/View/PDFKPageContent.m | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Classes/Document/CGPDFDocument.m b/Classes/Document/CGPDFDocument.m index 3819350..611c23e 100644 --- a/Classes/Document/CGPDFDocument.m +++ b/Classes/Document/CGPDFDocument.m @@ -59,7 +59,8 @@ CGPDFDocumentRef CGPDFDocumentCreate(NSURL *url, NSString *password) } //Failed to unlock the document. Cleanup. if (CGPDFDocumentIsUnlocked(docRef) == FALSE) { - CGPDFDocumentRelease(docRef), docRef = NULL; + CGPDFDocumentRelease(docRef); + docRef = NULL; } } } else { diff --git a/Classes/View/PDFKPageContent.m b/Classes/View/PDFKPageContent.m index c4a969b..7a668b4 100644 --- a/Classes/View/PDFKPageContent.m +++ b/Classes/View/PDFKPageContent.m @@ -544,8 +544,10 @@ - (void)removeFromSuperview - (void)dealloc { - CGPDFPageRelease(_PDFPageRef), _PDFPageRef = NULL; - CGPDFDocumentRelease(_PDFDocRef), _PDFDocRef = NULL; + CGPDFPageRelease(_PDFPageRef),; + _PDFPageRef = NULL; + CGPDFDocumentRelease(_PDFDocRef); + _PDFDocRef = NULL; } #pragma mark CATiledLayer delegate methods From f50c2deb7e0b26a9e11d838eba36c70ae74c7898 Mon Sep 17 00:00:00 2001 From: Julien CAMPY Date: Fri, 6 Oct 2017 18:20:02 +0200 Subject: [PATCH 7/8] Fixed typo --- Classes/View/PDFKPageContent.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/View/PDFKPageContent.m b/Classes/View/PDFKPageContent.m index 7a668b4..b22159d 100644 --- a/Classes/View/PDFKPageContent.m +++ b/Classes/View/PDFKPageContent.m @@ -544,7 +544,7 @@ - (void)removeFromSuperview - (void)dealloc { - CGPDFPageRelease(_PDFPageRef),; + CGPDFPageRelease(_PDFPageRef); _PDFPageRef = NULL; CGPDFDocumentRelease(_PDFDocRef); _PDFDocRef = NULL; From ccd02ab9b0b07eeb2ceca8bfed54954b036d0655 Mon Sep 17 00:00:00 2001 From: Julien Campy Date: Thu, 29 Nov 2018 10:45:54 +0100 Subject: [PATCH 8/8] Not necessary anymore using the new version of TTOpenInAppActivity --- Classes/View/PDFKBasicPDFViewer.m | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Classes/View/PDFKBasicPDFViewer.m b/Classes/View/PDFKBasicPDFViewer.m index 6851abc..9a6107c 100644 --- a/Classes/View/PDFKBasicPDFViewer.m +++ b/Classes/View/PDFKBasicPDFViewer.m @@ -364,19 +364,11 @@ - (void)send } if([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone){ - // Store reference to superview (UIActionSheet) to allow dismissal - if (openInAppActivity) { - openInAppActivity.superViewController = activityViewController; - } // Show UIActivityViewController [self presentViewController:activityViewController animated:YES completion:NULL]; } else { // Create pop up activityViewController.modalPresentationStyle = UIModalPresentationPopover; - // Store reference to superview (UIPopoverController) to allow dismissal - if (openInAppActivity) { - openInAppActivity.superViewController = activityViewController; - } // Show UIActivityViewController in popup activityViewController.popoverPresentationController.sourceView = (UIView*)_shareItem;