@@ -23,7 +23,7 @@ typedef NS_ENUM(NSInteger, BranchShareActivityItemType) {
2323#pragma mark BranchShareLink
2424
2525@interface BranchShareLink () {
26- NSArray <UIActivityItemProvider*> * _activityItems;
26+ NSPointerArray * _activityItems;
2727}
2828
2929- (id ) shareObjectForItem : (BranchShareActivityItem*)activityItem
@@ -36,7 +36,7 @@ - (id) shareObjectForItem:(BranchShareActivityItem*)activityItem
3636
3737@interface BranchShareActivityItem : UIActivityItemProvider
3838@property (nonatomic , assign ) BranchShareActivityItemType itemType;
39- @property (nonatomic , weak ) BranchShareLink *parent;
39+ @property (nonatomic , strong ) BranchShareLink *parent;
4040@end
4141
4242@implementation BranchShareActivityItem
@@ -85,10 +85,9 @@ - (void) shareDidComplete:(BOOL)completed activityError:(NSError*)error {
8585
8686- (NSArray <UIActivityItemProvider*>*_Nonnull) activityItems {
8787 if (_activityItems) {
88- return _activityItems;
88+ return [ _activityItems allObjects ] ;
8989 }
9090
91-
9291 // Make sure we can share
9392
9493 if (!(self.universalObject .canonicalIdentifier ||
@@ -111,12 +110,12 @@ - (void) shareDidComplete:(BOOL)completed activityError:(NSError*)error {
111110 [self .universalObject userCompletedAction: BNCShareInitiatedEvent];
112111
113112 BranchShareActivityItem *item = nil ;
114- NSMutableArray *items = [NSMutableArray new ];
113+ _activityItems = [NSPointerArray weakObjectsPointerArray ];
115114 if (self.shareText .length ) {
116115 item = [[BranchShareActivityItem alloc ] initWithPlaceholderItem: self .shareText];
117116 item.itemType = BranchShareActivityItemTypeShareText;
118117 item.parent = self;
119- [items addObject: item];
118+ [_activityItems addPointer: (__bridge void * _Nullable)( item) ];
120119 }
121120
122121 NSString *URLString =
@@ -131,17 +130,16 @@ - (void) shareDidComplete:(BOOL)completed activityError:(NSError*)error {
131130 item = [[BranchShareActivityItem alloc ] initWithPlaceholderItem: URL];
132131 item.itemType = BranchShareActivityItemTypeBranchURL;
133132 item.parent = self;
134- [items addObject: item];
133+ [_activityItems addPointer: (__bridge void * _Nullable)( item) ];
135134
136135 if (self.shareObject ) {
137136 item = [[BranchShareActivityItem alloc ] initWithPlaceholderItem: self .shareObject];
138137 item.itemType = BranchShareActivityItemTypeOther;
139138 item.parent = self;
140- [items addObject: self .shareObject ];
139+ [_activityItems addPointer: (__bridge void * _Nullable)(item) ];
141140 }
142141
143- _activityItems = items;
144- return _activityItems;
142+ return [_activityItems allObjects ];
145143}
146144
147145- (void ) presentActivityViewControllerFromViewController : (UIViewController*_Nullable)viewController
0 commit comments