expo-sharing 11.0.0 → 11.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,12 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 11.0.1 — 2022-10-27
14
+
15
+ ### 🐛 Bug fixes
16
+
17
+ - On iOS, dismiss share sheet after sharing to an app is canceled, so the file doesn't fail to attach when trying to share again ([#19656](https://github.com/expo/expo/pull/19656) by [@keith-kurak](https://github.com/keith-kurak))
18
+
13
19
  ## 11.0.0 — 2022-10-25
14
20
 
15
21
  ### 🛠 Breaking changes
@@ -3,7 +3,7 @@ apply plugin: 'kotlin-android'
3
3
  apply plugin: 'maven-publish'
4
4
 
5
5
  group = 'host.exp.exponent'
6
- version = '11.0.0'
6
+ version = '11.0.1'
7
7
 
8
8
  buildscript {
9
9
  def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
@@ -74,7 +74,7 @@ android {
74
74
  minSdkVersion safeExtGet("minSdkVersion", 21)
75
75
  targetSdkVersion safeExtGet("targetSdkVersion", 31)
76
76
  versionCode 16
77
- versionName '11.0.0'
77
+ versionName '11.0.1'
78
78
  }
79
79
  lintOptions {
80
80
  abortOnError false
@@ -48,11 +48,10 @@ EX_EXPORT_METHOD_AS(shareAsync,
48
48
  _documentInteractionController.delegate = self;
49
49
  _documentInteractionController.UTI = params[@"UTI"];
50
50
 
51
- UIViewController *viewController = [[_moduleRegistry getModuleImplementingProtocol:@protocol(EXUtilitiesInterface)] currentViewController];
52
-
53
51
  EX_WEAKIFY(self);
54
52
  dispatch_async(dispatch_get_main_queue(), ^{
55
53
  EX_ENSURE_STRONGIFY(self);
54
+ UIViewController *viewController = [[self.moduleRegistry getModuleImplementingProtocol:@protocol(EXUtilitiesInterface)] currentViewController];
56
55
  UIView *rootView = [viewController view];
57
56
  if ([self.documentInteractionController presentOpenInMenuFromRect:CGRectZero inView:rootView animated:YES]) {
58
57
  self.pendingResolver = resolve;
@@ -68,7 +67,19 @@ EX_EXPORT_METHOD_AS(shareAsync,
68
67
  _pendingResolver(nil);
69
68
  _pendingResolver = nil;
70
69
 
71
- _documentInteractionController = nil;
70
+ // This delegate method is called whenever:
71
+ // a) the share sheet is canceled
72
+ // b) an app is chosen, it's dialog opened, and the share is confirmed/ sent
73
+ // c) an app is chosen, it's dialog opened, and that dialog is canceled
74
+ // In case c), the share sheet remains open, even though the promise was resolved
75
+ // Future attempts to share without closing the sheet will fail to attach the file, so we need to close it
76
+ // No other delegate methods fire only when the share sheet is dismissed, unfortunately
77
+ EX_WEAKIFY(self);
78
+ dispatch_async(dispatch_get_main_queue(), ^{
79
+ EX_ENSURE_STRONGIFY(self);
80
+ [self.documentInteractionController dismissMenuAnimated:true];
81
+ self.documentInteractionController = nil;
82
+ });
72
83
  }
73
84
 
74
85
  @end
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-sharing",
3
- "version": "11.0.0",
3
+ "version": "11.0.1",
4
4
  "description": "ExpoSharing standalone module",
5
5
  "main": "build/Sharing.js",
6
6
  "types": "build/Sharing.d.ts",
@@ -37,5 +37,5 @@
37
37
  "peerDependencies": {
38
38
  "expo": "*"
39
39
  },
40
- "gitHead": "eab2b09c735fb0fc2bf734a3f29a6593adba3838"
40
+ "gitHead": "5ff3a7e56ae21f002da3d699cc95bc98d784cd77"
41
41
  }