@@ -102,48 +102,6 @@ static void initializeActivityTypeMapping(void) {
102102 return [result copy ];
103103}
104104
105- // We need the companion to avoid ARC deadlock
106- @interface UIActivityViewSuccessCompanion : NSObject
107-
108- @property FlutterResult result;
109- @property NSString *activityType;
110- @property BOOL completed;
111-
112- - (id )initWithResult : (FlutterResult)result ;
113-
114- @end
115-
116- @implementation UIActivityViewSuccessCompanion
117-
118- - (id )initWithResult : (FlutterResult)result {
119- if (self = [super init ]) {
120- self.result = result;
121- self.completed = false ;
122- }
123- return self;
124- }
125-
126- // We use dealloc as the share-sheet might disappear (e.g. iCloud photo album
127- // creation) and could then reappear if the user cancels
128- - (void )dealloc {
129- if (self.completed ) {
130- self.result (self.activityType );
131- } else {
132- self.result (@" " );
133- }
134- }
135-
136- @end
137-
138- @interface UIActivityViewSuccessController : UIActivityViewController
139-
140- @property UIActivityViewSuccessCompanion *companion;
141-
142- @end
143-
144- @implementation UIActivityViewSuccessController
145- @end
146-
147105@interface SharePlusData : NSObject <UIActivityItemSource>
148106
149107@property (readonly , nonatomic , copy ) NSString *subject;
@@ -317,7 +275,8 @@ + (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar> *)registrar {
317275 NSNumber *originY = arguments[@" originY" ];
318276 NSNumber *originWidth = arguments[@" originWidth" ];
319277 NSNumber *originHeight = arguments[@" originHeight" ];
320- NSArray *excludedActivityTypeStrings = arguments[@" excludedCupertinoActivities" ];
278+ NSArray *excludedActivityTypeStrings =
279+ arguments[@" excludedCupertinoActivities" ];
321280 NSArray <UIActivityType> *excludedActivityTypes =
322281 activityTypesForStrings (excludedActivityTypeStrings);
323282
@@ -445,9 +404,9 @@ + (void)share:(NSArray *)shareItems
445404 withController : (UIViewController *)controller
446405 atSource : (CGRect)origin
447406 toResult : (FlutterResult)result {
448- UIActivityViewSuccessController *activityViewController =
449- [[UIActivityViewSuccessController alloc ] initWithActivityItems: shareItems
450- applicationActivities: nil ];
407+ UIActivityViewController *activityViewController =
408+ [[UIActivityViewController alloc ] initWithActivityItems: shareItems
409+ applicationActivities: nil ];
451410
452411 activityViewController.excludedActivityTypes = excludedActivityTypes;
453412
@@ -483,14 +442,14 @@ + (void)share:(NSArray *)shareItems
483442 activityViewController.popoverPresentationController .sourceRect = origin;
484443 }
485444
486- UIActivityViewSuccessCompanion *companion =
487- [[UIActivityViewSuccessCompanion alloc ] initWithResult: result];
488- activityViewController.companion = companion;
489445 activityViewController.completionWithItemsHandler =
490446 ^(UIActivityType activityType, BOOL completed, NSArray *returnedItems,
491447 NSError *activityError) {
492- companion.activityType = activityType;
493- companion.completed = completed;
448+ if (completed) {
449+ result (activityType);
450+ } else {
451+ result (@" " );
452+ }
494453 };
495454
496455 [controller presentViewController: activityViewController
0 commit comments